问题标签 [pjax]

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 投票
1 回答
547 浏览

pjax - 完整的 ajax/pjax 站点

我计划使用 pjax 制作一个完整的动态站点,带有静态菜单(只有内容将使用 pjax 更新)。这有多糟糕?我计划将其植入的网站上有很多数据,大多数图像。

我已经在我的本地机器上测试了我的解决方案,它似乎可以工作,但在生产中它可能会很慢或者你们怎么看?这是不好的做法吗?

现在在 pjax 启动时,我将容器滑到左侧,然后从右侧滑入新内容。当我在 Safari 和 FireFox 中执行此操作时,我注意到性能有所下降。我应该跳过我的解决方案而只定期更新页面吗?我想做类似 Twitter 的 iPhone 应用程序,但在网络上。

我想这样做的原因是我有一个全尺寸的谷歌地图,上面有很多需要一些时间才能加载的图钉。

0 投票
1 回答
267 浏览

javascript - PJAX:记住额外的对象状态

我目前正在我的网站上实现 PJAX,它对加载的内容非常有用。

但是也有可能记住其他对象的状态吗?

在我的示例中,如果有一个 SELECT 框会在更改时触发 PJAX 请求。内容加载良好,当我使用向后导航时,内容将替换为之前的内容。不幸的是,SELECT 框并没有变回原来的值。

有没有办法实现它?

问候,克里斯

0 投票
1 回答
742 浏览

jquery - 在 pjax 容器加载时保留脚本

我有第一次使用 pjax 的 wordpress 网站。我希望能够更新#main 容器,以及主容器外部的 div,我将其用于拉伸背景滑块。

背景滑块写入 html,以及为滑块分配设置的脚本标记。通过使用innerHTML(我选择它而不是jquery的html()来保留脚本),我能够将滑块的html移动到#main容器之外的适当位置。那时我注意到脚本标签似乎根本没有在 pjax 请求中返回。

是否有任何解决方法可以保留脚本标签,或者以某种方式在调用中检索它?在 pjax 加载后是否需要单独的 ajax 调用来获取我的脚本标签信息?

谢谢!

0 投票
1 回答
1011 浏览

javascript - 当 pjax 完成工作时加载脚本

我在 MVC CodeIgniter 框架中有项目,我为每个视图都有它的 javascript,它位于该视图的末尾。

现在当 pjax 加载该页面时,它应该加载脚本,但它没有。脚本标签在那里,但它没有加载,需要以某种方式将它加载到 pjax 上?

有什么帮助吗?

0 投票
2 回答
1277 浏览

jquery - 使用参数更新 URL 时 Pjax 后退按钮不起作用

当我使用 ?page=2 等参数手动更新 url 时,pjax 无法识别它:

我也尝试过使用 pjax

(注意我添加了 dontRequest 参数,所以我可以做一个“假”pjax 调用,它实际上不会触发 .ajax 但仍然更新 url,但没有成功)

要在实时站点上复制它:

  1. 转到http://2u.fm(点击退出模式)
  2. 向下滚动直到添加 ?p=2
  3. 点击热门
  4. 在浏览器中按回

注意没有任何反应......现在再次按下,您会看到它有效。这是因为我使用 replaceState 用 ?p=2 更新了 URL。我将如何使这项工作能够识别这些?参数...我尝试自定义 pjax 没有成功。

0 投票
1 回答
1477 浏览

model-view-controller - pjax 还是客户端 MVC?

我必须开始一个新项目,一个有很多表单和屏幕的 web 应用程序,我真的不知道哪种技术最适合。该应用程序是一个类似于 ERP 的应用程序,动画很少,表格很多。目标是减少重新加载和等待时间,它必须尽可能接近普通桌面应用程序(看起来像一个了不起的 VB6 应用程序需要做很多工作:-)

一方面,我们有客户端 MVC(骨干网)。让所有代码在客户端上运行很酷,但在我看来,这意味着从服务器(PHP + Fuel)重复大量代码(例如所有模型定义)。当然一旦加载了所有信息任务,如分页或网格工作,没有任何延迟,但它也存在一些同步问题(其他用户可以更改数据,我必须手动使客户端上的数据无效)。

另一方面,我们有 pjax。这个想法是在服务器上制作所有的模板等,只需实现一个逻辑来返回没有pjax请求框架的页面或新请求的完整页面。没有代码重复,非常简单的客户端。

我从大本营特上读过这个故事,这两点对我来说都很有意义。您不能在访客计算机上进行中继(功能、性能......)

我越想它的模式我喜欢 pjax 而不是 MVC,但也许我错过了一些东西。与客户端 MVC 相比,与 pjax 或 pjax 相比,MVC 有哪些优势?

非常感谢

0 投票
2 回答
1207 浏览

javascript - PJAX 请求完成并下载资源后的回调

我的一个应用程序使用 PJAX 样式导航,这意味着我们使用 AJAX 加载部分页面,然后使用 HTML5 history/pushState API 更新浏览历史记录,而不是加载整个页面。

以前我使用该window.onload事件来测量最终用户页面加载时间,并且我希望能够通过 PJAX 页面加载记录这些时间,问题是在 PJAX 加载后此事件不会触发。

我可以访问一个pjax:end在 PJAX 请求完成后触发的事件,但是在所有资产完成下载之前触发。我希望能够测量下载页面所需的完整时间,包括下载额外(图像/脚本)资产的时间。

这可能吗?是否有我遗漏的回调或一些可以让我测量完整请求时间的魔法?

0 投票
1 回答
858 浏览

ruby-on-rails-3 - pjax 发出多个请求

在 Chrome(版本 21)javascript 控制台中调用 pjax 时,我在开发日志中看到两个请求。我尝试按照这篇文章中的建议更改超时,但我仍然收到两个请求。有任何想法吗?

0 投票
1 回答
328 浏览

pjax - 选择链接时pjax添加URL

当我单击第一个链接时,pjax 会触发正确的内容。但是,当我选择第二个链接时,pjax 会像这样“http://localhost.com/name/test1/name/test2/”添加到已经选择的链接,然后返回到索引页面。我猜是因为添加了第二个链接。我该如何解决这个问题?

0 投票
1 回答
1108 浏览

jquery - 如何取消 pjax 事件?

我以这种方式使用 pjax(来自https://github.com/defunkt/jquery-pjax):

二。略显突兀,传递一个容器并绑定一个错误处理程序:

在某些情况下,我的链接可能有一个类应该阻止链接通过<a href='/explore' class='js-pjax no-link'>Explore</a>

以及阻止它的代码:

我的问题是:在这种情况下,返回 false/preventDefault 不会阻止 pjax 触发。

如果'js-pjax'链接也有类('no-link'),有什么建议如何停止pjax?