问题标签 [page.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
788 浏览

javascript - 主线程上的同步 XMLHttpRequest 在 ASP.NET MVC 和 Page.js 中已被弃用

为了使我们的应用程序成为 SPA,我们使用了第三方库 Page.js 以及 ASP.NET MVC。

Page.js 参考: https ://visionmedia.github.io/page.js/

通过使用 Page.js 库,我们基本上执行了两个任务。

  1. 首先,我们在 MVC 应用程序上点击一些控制器/动作(部分视图),然后将返回的 HTML 注入 DOM。
  2. 其次,同时我们使用这个库改变浏览器的URL。

我们通过 Page.js 获取的所有 Partial Views 也有对<script/>标签的引用。因此,每当我们将返回的 HTML 注入 DOM 时,我们就会开始在浏览器的控制台选项卡中看到弃用问题。

[弃用] 主线程上的同步 XMLHttpRequest 已弃用,因为它对最终用户的体验产生不利影响。如需更多帮助,请查看https://xhr.spec.whatwg.org/

申请流程:

下图解释了我们的应用程序流程。

在此处输入图像描述

目前,所有子部分视图也都有自己的脚本,并且该脚本在注入 DOM 后立即执行。

尝试的方法作为解决此弃用问题的解决方案:

在通过 Page.js 库注入的每个局部视图(不是子视图)上,我们正在编写以下代码以异步加载所有依赖项。在回调函数中(一旦加载了所有依赖项),我们正在执行页面特定的 JavaScript 代码,如下所示。

通过 Ajax 注入 DOM 的 Page 的 HTML(即 Page Partial View):

重要$.getMultipleScripts取自这里 -如何使用 jQuery $.getScript() 方法包含多个 js 文件

子部分视图末尾的脚本如下所示:

注意:为此,我们还停止了子部分视图,以便在加载后立即执行 javascript 代码。事实上,我们现在只是在部分视图中提供 javascript 定义(以模块模式的形式)并从主页面(父部分视图)控制整个执行。

我知道这不是一个好方法。我们可以使用一些前端框架。但是在这个阶段,我们不能做出让整个框架转变的决定。

从这篇文章中,我只是想知道,这种方法是好的还是有更好的方法来解决这个问题。如果是,请分享。

0 投票
1 回答
26 浏览

javascript - page.js 库:如何启用 onbeforeunload?

我正在使用page.js作为路由器构建一个单页应用程序。在 SPA 中更改页面时,默认的window.onbeforeunload事件似乎不会触发。我怎样才能实现类似的东西,如果用户决定不继续,我可以有选择地取消页面转换?(即“您的更改未保存:可以放弃更改吗?”)

谢谢!

0 投票
1 回答
37 浏览

page.js - 如何使用 page.js 在不完全重新加载的情况下导航到 URL?

我想在提交表单后重定向用户而不重新加载页面(文档)。

我试过了,


当我单击链接<a href="./newurl/18/meetings">link</a>时,它按预期工作。

0 投票
0 回答
49 浏览

javascript - Javascript 代码未使用 page.js 在我网站的一页上执行

编辑:@Mike 'Pomax' Kamermans,对链接缩短者感到抱歉,你是绝对正确的!

我在我的网站上的表单中添加了一个日期选择器,但它仅在我直接浏览页面时才有效,例如,如果您直接打开第一个链接(预订页面),日期选择器应该可以正常工作(这意味着没有错误在我刚刚添加的代码中)。

但是,如果您首先浏览到索引页面(链接 2)然后单击 Reservation,则使用 page.js librairie 加载该页面,并且似乎我的代码没有执行!

这是在我的 reservation.html 页面上的结束正文标记之前放置的代码的相关部分:

var cleave = new Cleave('#phone', { phone: true, phoneRegionCode: 'fr' });

预订页面

索引页面

Javascript 主要代码

目前唯一的解决方案是刷新页面以使日期选择器工作..

为什么我的 JS 没有执行?在这种情况下添加自定义 js 文件的正确方法是什么?

非常感谢所有阅读所有主题的人!

0 投票
1 回答
183 浏览

routes - Svelte page.js 路由 - 无法获取动态组件的传入道具

page.js我的路由有问题。如果我从settings到 a dashboard,我会得到传入的道具。如果我从dashboard一无所有dashboard被注销...有人可以帮忙吗?

App.svelte

导航.svelte

仪表板.svelte

0 投票
1 回答
187 浏览

javascript - 如何在 SVELTE 中使用 page.js 并在编辑时保留动态路由内容

我将 page.js 与 SVELTE 一起使用,它可以工作。

问题:

我的应用程序允许用户通过表单存储数据,数据存储在 indexedDB 中(我正在使用 Dexie.js 与 IndexedDB 对话)。存储的数据用于创建动态路线。

例子:

用户提交称为“客户端”的数据,数据存储在 indexedDB 中:

然后,我创建如下所示的动态路由(使用 page.js):

问题如下,

当我在保存工作时转到动态路径并编辑构成页面的组件(甚至是 CSS)时,整个应用程序都会刷新。为了回到我的动态路线,我不能只输入 URL - 我必须返回登录页面,找到提交项目的链接,单击它并重定向到所需的页面。

有没有办法让这更容易,这样我就可以在不发生这种情况的情况下进行编辑?登陆页面和其他静态页面没有这个问题。

0 投票
1 回答
214 浏览

javascript - 尽管在 package.json 中传递了 --single 标志,但手动输入 URL 或刷新时,page.js 带有细长的“未找到请求的 URL”

我是整个 Javascript 和 svelte 生态系统的新手,我正在尝试使用 svelte.js 构建一个应用程序并使用烧瓶来服务它。问题是我The requested URL was not found手动输入路径或刷新页面时遇到的问题。尽管在 package.json 中传递了 --single 标志,但仍会发生这种情况。奇怪的是,我只有在路由有相关参数时才会遇到这个问题,例如。/article/:id. 但是,如果我手动输入路径/article或刷新它,则没有问题。

这是 package.json 的片段

这是我的 App.svelte 文件的片段