single-page-application 相关问题

单页面应用程序(SPA)是一种适用于单个网页的Web应用程序,其目标是提供类似于桌面应用程序的更流畅的用户体验。

从单页应用程序中使用 Astro 构建的博客获取最新帖子

我有一个单页应用程序,我想在其中显示 Astro 博客的最新帖子。 astro 是否提供 API 来轻松从另一个应用程序访问此类信息?

回答 1 投票 0

将应用程序后端部署到多个 AWS EC2 实例时,使用 Laravel Sanctum 对 SPA 用户进行身份验证是否会导致问题?

Laravel Sanctum 是一个用于 SPA(单页应用程序)、移动应用程序和简单的基于令牌的 API 的身份验证系统。 在对 SPA 的用户进行身份验证时,Sanctum 不使用代币...

回答 1 投票 0

Nuxt3 - 如何创建一个单页作品集网站,其中帖子在 div 弹出窗口中打开(无需重新加载页面),但每个项目都有唯一的 url?

我正在使用 nuxt3、tailwindcss 和 Wordpress REST API 制作一个作品集网站。 作品集网站的总体布局如下: ... 我正在使用 nuxt3、tailwindcss 和 Wordpress REST API 制作一个作品集网站。 作品集网站总体布局如下: <body> <div id="page-wrapper"> <section id="landing-image" class="w-screen h-screen">...</section> <section id="about">...</section> <section id="projects-grid">...</section> </div> </body> 目标: 我希望网站感觉只有一页,但支持从项目网格中单击项目来阅读有关该项目的更多信息。单击项目时,内容应该加载,而无需(可见)重新加载页面。请参阅此作品集网站作为项目网格的示例,其中包含我尝试实现的项目弹出窗口:https://www.tessarosejacksoncomposer.com/ 我尝试过的: 1.)我想到的一种方法是向包含被 tailwind 隐藏的帖子内容的页面添加一个 div,并且 nuxt 跟踪状态。当帖子需要查看或不查看并且加载正确的项目内容时,Nuxt 有条件地设置“隐藏”类。 app.vue <template> <div id="page-wrapper"> <section id="landing-image" class="w-screen h-screen">...</section> <section id="about">...</section> <section id="projects-grid">...</section> </div> <div id="project-content-wrapper" class="absolute h-screen w-screen" :class="{'hidden': postHidden }"> ... (dynamically load project content and unhide by nuxt state management) ... </div> </template> 这是一个很好且简单的实现,但我的主要问题是每个项目没有唯一的 url。当我想分享一个特定的项目时,我想发送一个立即打开该项目的网址。现在该网址始终保留在主页上。第二个问题是使用该网站时没有 url 历史记录,我认为这不直观。 2.)因此,我找到了第二种方法,使用嵌套的 nuxt 页面和 <NuxtPage /> 组件(参考:https://v2.nuxt.com/examples/routing/nested-pages/ )。我的想法是将 <NuxtPage /> 标签放在项目内容 div 中,然后有一个根据 url 进行更改的嵌套页面,但不会重新加载整个页面(明显)。在 pages/ 目录中,我创建了一个 project/ 目录、project.vue 文件,并在 project/ 目录中添加了一个 [...slug].vue 文件,其中包含项目布局并呈现内容。这样我的项目就有了 url example.com/project/project-slug。 project.vue 文件只是获得漂亮 url 的传递,并且仅包含带有 <NuxtPage /> 的模板来嵌套项目子项。 app.vue <template> <div id="page-wrapper"> <section id="landing-image" class="w-screen h-screen">...</section> <section id="about">...</section> <section id="projects-grid">...</section> </div> <div id="project-content-wrapper" class="absolute h-screen w-screen" :class="{'hidden': postHidden }"> <NuxtPage /> </div> </template> 第二种方法解决了url问题,但是页面明显重新加载并破坏了单页效果。这是因为页面可以滚动,当使用 <NuxtLink> 转到项目时,站点会滚动到顶部。当我添加一个跨 UI 元素来关闭项目弹出窗口并返回主页时,这成为一个问题。单击十字时,页面位于顶部,迫使用户再次向下滚动回到项目网格。我想要这样的错觉:弹出窗口在网站上打开,当单击十字时,用户会从上次中断的地方继续。 问题: 有谁知道一种方法来实现这个项目网格弹出效果,每个项目都有唯一的网址,同时保持留在同一个页面上的感觉? 你可以尝试这样的事情(注意:你应该有一个根元素): <template> <main> <div v-if="project_list"> <div id="project-wrapper" v-for="item,index in project_list" :key="'project'+index" @click="handle(item)"> <section id="landing-image" class="w-screen h-screen">...</section> <section id="about">...</section> <section id="projects-grid">...</section> </div> </div> <div id="project-content-wrapper" class="absolute h-screen w-screen" :class="{'hidden': postHidden }"> ... (dynamically load project content and unhide by nuxt state management) ... </div> </main> </template> <script setup> import {ref,onMounted} from 'vue' const route = useRoute() const postHidden = ref(true) const postContent = ref(null) const { data: project_list} = await useFetch('/path/to/myapi')//return an array of projects const handle = (item)=>{ if(!window)return window.history.pushState(null,'',`?p=${item.slug}`) postHidden.value = false postContent.value = item } onMounted(()=>{ if(route.query.p){ const post = route.query.p const {data,error} = postHidden.value = false project_list.forEach(item=>{ if (item.slug == p) postContent.value = item }) } }) </script> 这是一个粗略的实现,例如不支持错误。这个想法是使用“window.history.pushState”通过查询字符串修改 url,并在页面加载时使用此查询字符串(如果存在)

回答 1 投票 0

检测 SPA 中的 URL 更改

我想监听不是由我维护的 SPA 中的路径变化。 我在这里找到了一个解决方案:https://stackoverflow.com/a/44819548/7042552 但仍然看起来有点“hacky”......

回答 3 投票 0

如何使用React在不保持滚动位置的情况下转到另一个页面

我正在使用 Next/React 开发一个项目。当我单击一个应该将我带到另一个页面的按钮时,滚动位置将被保留,这意味着我到达新页面上向下 X 像素。 我...

回答 3 投票 0

手动更新 Blazor WebAssembly 应用程序

我们即将发布我们的第一个 Blazor WebAssembly 独立应用程序(即不托管在 .Net Core 上)。我已经爱上 Blazor 并期待用它制作一些出色的应用程序!然而

回答 2 投票 0

在单页应用程序中设置CSP(框架祖先)

如何使用 Webpack 捆绑器在单页面应用程序中设置 Frame Ancestors CSP?我知道无法在 HTML 中使用 标签设置框架祖先。 我尝试附加 Content-Security-Pol...

回答 1 投票 0

为什么 JavaScript SPA 应用程序无法渲染

我正在尝试构建 SPA 应用程序,但它没有渲染“renderItem”和“renderTotalPrice”函数。我不会添加样式文件 请注意,当我刚刚使用 o...

回答 1 投票 0

调用后端API时使用ID Token还是Access Token?

从Azure AD文档中我了解到ID令牌用于身份验证,访问令牌是您发送到后端API以进行授权的内容。 但我有几个 API 可以提供响应...

回答 1 投票 0

OWIN静态文件安全

我正在构建一个 SPA,该 SPA 将位于 WebAPI/OWIN 应用程序(将托管在 IIS 中)中,该应用程序当前没有 MVC 组件,并且 / 路由将只是 index.html。 整个网站...

回答 3 投票 0

JMeter - 单页应用程序 - Blazor 应用程序 - Web 套接字连接 - 服务堆栈身份验证

我必须对单页应用程序执行客户端最终负载测试 - Blazor 服务器技术,该技术使用 Narrum 服务和服务堆栈身份验证。当尝试使用...记录应用程序时

回答 2 投票 0

我应该在 OAuth 身份验证代码流程中重定向回 SPA 或 API 吗?

我有一个 React SPA 和一个 .NET API,用户将使用 AD FS 登录。我在后端用令牌交换身份验证代码(也使用客户端密钥),但将 cookie 发送回 SPA。该...

回答 1 投票 0

ASP.NET Core + Angular 路由不起作用

我正在尝试实现我的SPA应用程序的路由,但它根本不起作用,我不知道我在这里做错了什么,我看了很多教程,但我找不到问题。我是不是错过了什么...

回答 1 投票 0

将 Keycloak 与 Azure B2C 作为身份提供者集成并使用授权代码流程

我正在尝试使用授权代码流程将 Keycloak 与 Azure B2C 集成。我已将 Keycloak 实例部署为 Azure 应用服务、Azure B2C 租户和演示 SPA 应用程序,正在尝试进行身份验证...

回答 1 投票 0

在单页应用程序中重置数据层变量(Google 标签管理器)

尝试在移动网站实现内容分组,也就是SPA。 场景是这样的:当我第一次访问 PDP 页面时,设置了类别变量并将其发送到内容......

回答 4 投票 0

Laravel Fortify SPA POST /注销 419 未知状态

我很难处理 sainttum 和 fortify,我正在使用 sainttum 和 fortify 进行 Vue SPA 身份验证,当我登录时它工作正常,当执行 POST /sanctum/csrf-cookie 时,设置了一个 cookie .. .

回答 1 投票 0

错误 419(未知状态)CSRF 令牌不匹配。 | Laravel Sanctum + Fortify + Vue SPA

向登录用户发送发布请求时收到“419(未知状态)”错误 POST http://localhost/login 419(未知状态) 网络请求响应 : "message": "CSRF ...

回答 1 投票 0

从外部中止 `wasm_bindgen_futures::spawn_local` 回调

我正在构建一个 Yew 漫画阅读器应用程序。主页是一个包含缩略图的书架,单击缩略图会将我带到呈现书籍页面的页面。 fn 开关(ro...

回答 1 投票 0

Vite on dotnet spa 设置

我创建了 dotnet spa 代理到 vite.js 的项目 从工作示例来看: 在 vite.config.ts 中 导出默认的defineConfig({ // 基础: '/app', 服务器: { https:真实, 端口:6363...

回答 1 投票 0

将我的单 Spa 更新到 React 18 时出现错误

我正在开发一个单spa React版本5.9.4,目前它配置了react 17。但是当我尝试更新到React 18时,它无法识别来自DOMClient的createRoot方法,wh。 ..

回答 2 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.