问题标签 [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 投票
2 回答
2032 浏览

jquery - 使用 pjax 进行 HTTP 缓存 (jquery-pjax)

浏览器和代理缓存使用 URL 作为缓存键。在 pjax 中,URL 用于请求部分 Pjax 页面和完整页面,因此两个响应都将缓存在同一个键下。这显然会导致错误,因为可能会加载部分页面而不是整个页面,反之亦然。

一个人将如何解决它?

我唯一能想到的就是在 url 中添加一个 pjax 标签。pjax 是否提供了这样做的内置方式?

谢谢!

ps 我正在使用 Rails,以防万一有人在 Rails 中有更优雅的方式。

0 投票
3 回答
2932 浏览

angularjs - 主要是 PJAX 站点,带有一些 AngularJS

我有一个使用 PJAX 的网站,并且我有一些使用 AngularJS 的页面。对于 AngularJS 页面,我想继续使用 PJAX 来获得与不重新加载整个 HTML 页面、资产等相关的所有好处。不幸的是,PJAX 只是将一些 HTML 加载到页面中并且不会触发任何 javascript。这没关系,因为我可以在 pjax 成功时手动触发 javascript,但我不太清楚是什么让 AngularJS 初始化。

对于一个简单的场景,假设我将以下 HTML AJAX 转换为页面。还假设该页面已经包含了 Angular.js。我可以调用什么来使以下行为像 Angular 应用程序?

谢谢

0 投票
1 回答
1044 浏览

jquery - jQuery .on() 不能与 PJAX 一起使用?

这段代码似乎不适用于我的 PJAX。如果我最初加载一个页面,它会很好地选择元素并进行更改。但是,一旦我使用 PJAX 转到另一个页面,它将不再为 .on("click") 操作选择元素。难道我做错了什么?我之前尝试添加一个警报,var newSRC以查看它是否正确选择了带有 .on() 的元素,但事实并非如此。有任何想法吗?

0 投票
1 回答
2086 浏览

ajax - 启用 history.pushState 页面上的 AdSense

首先,我知道这已经被讨论一遍一遍 。但是,让我们将此视为“2012 年末版”,因为互联网上的事情往往会迅速变化。

我有这个网页,它是一个带有整页刷新的“经典”网页。每次内部点击都会产生新的内容。我们可以毫无问题地以这种方式展示 AdSense 广告。

现在,出于性能原因,我开始研究整个页面的“ajaxifying”(PJAX)(我实际上已经制作了一个原型版本,它工作得很好)。整个过程仅适用于支持history.pushState.

最终结果是,用户会看到一个全新的页面(包括更改后的 URL 和其他内容),并且只有提供页面的机制发生了更改(完全重新加载与 AJAX)。就谷歌(和旧版浏览器)而言,这仍然是一个带有常规链接的常规页面(渐进增强等等)。

然而,没有办法展示 AdSense,因为document.write's 和 AdSense 的 TOS 毁了聚会。

我的问题:是否有谷歌批准(我对会让我们被禁止的黑客行为不感兴趣)的方式来在这样的页面上显示 AdSense 广告(我还没有找到)。或者如果没有,Google 是否有任何计划在未来支持此功能(同样,我还没有找到与此相关的任何内容)。

更新

经过一番挖掘后,我发现了Google DFP,它似乎支持异步加载添加。但是,我不确定是否可以在不破坏 TOS 的情况下通过它动态加载 AdSense 广告。我 100% 确定我可以通过这种方式加载其他广告,但不适用于 AdSense。有人可以帮我解决这个问题吗?

0 投票
1 回答
248 浏览

jquery - PJAX - URL 中包含空格或符号时出现 AJAX 错误?

所以我建立了一个使用 PJAX 的网站。我创建了一个搜索框,允许我通过 GET 发送搜索查询,但只要我包含空格 (%20) 或任何其他符号,PJAX 就会向我抛出 AJAX 错误,就好像找不到 URL ,但随后重定向到页面并在页面上执行完全重新加载。谷歌浏览器开发者工具显示请求正常,页面被找到,但出于某种原因,PJAX 认为它导致了 404 错误或什么的。有什么我做错了吗?

谢谢!

0 投票
0 回答
995 浏览

php - PJAX + jQuery 模态

我正在构建这个网页,我希望新闻出现在 jquery.modal 中,但具有共享功能,这意味着使用 URL。我为解决方案找到了 PJAX,然后我想将链接放在 URL 中并在模式窗口中显示内容。经过几天的谷歌搜索,我偶然发现了这一点,如果您单击该页面,它会以模式打开,但会显示 URL,但我找不到它是如何工作的。这是链接:http ://rigaspots.blogspot.com/

这是我的代码。

你可以在这里看到它:http: //supervalters.mplab.lv/source/

任何帮助,将不胜感激。谢谢。

0 投票
1 回答
734 浏览

ruby-on-rails - Rails:pjax 错误“未捕获的类型错误:对象 [object Object] 没有方法 'pjax'”

宝石文件:

宝石'pjax_rails'

应用程序/assets/javascripts/application.js :

应用程序/视图/布局/application.html.erb:

我在 chrome 中遇到的错误是:

未捕获的类型错误:对象 [对象对象] 没有方法“pjax”

它指的是 application.js 文件。这里有什么问题?

0 投票
1 回答
818 浏览

jquery - Rails、pjax 和数据表

我有一个使用 pjax (pjax.heroku.com/) 的 Rails 应用程序,因此我的标题和导航栏永远不会重新加载。这一切都很好,花花公子和工作,但在我的一个观点中,我正在使用数据表(datatables.net)。当您第一次加载页面时,数据表运行良好,但如果您导航到另一个页面然后返回,该表不会“重新启动”,因此它不起作用,一切看起来都像废话。显然这是因为数据表js文件由于pjax而没有再次加载。

这是我所拥有的:

application.js

application.html.erb我的头上:

<%=然后将产量包装%>在一个 div 中data-pjax-container

我在表格index.html.erb下方(硬编码)中调用 data-tables js 文件:

然后在一个单独的custom.js文件中,这是启动表的内容:

知道这里发生了什么吗?我认为该表没有被重新启动,但是当由于 Pjax 每次都没有加载标头时,如何让它重新启动?我什至尝试将 JS 链接放在桌子下方,但没有成功!

0 投票
1 回答
97 浏览

ruby-on-rails - 为当前 Rails 项目添加 PJAX 支持

我有一个使用标准 Rails 布局的现有网站。单击网站中的每个链接当前会加载并呈现相关视图。

不过最近,我听说了 PJAX,我想将整个站点转换为使用它,我需要更改什么 - 布局明智,以便能够使用它?

有没有我可能错过的指南来完成这个过程?

谢谢!

0 投票
1 回答
862 浏览

ruby-on-rails-3.2 - PJAX / Back-Button 破坏数据表

在启用 rack-pjax 的 Rails 3.2 应用程序中出现以下问题:

  1. 您单击一个链接,其中包含数据表的页面通过 pjax 加载。一切安好。
  2. 您单击页面“无论”加载的antoher链接。
  3. 您点击数据表页面加载的后退按钮。但是数据表不起作用。

有时它会加载 2 个表(其中没有数据),有时它只加载旧的数据表。但它不可能操纵数据(搜索,转到第 2 页等)。它完全是静态的。

表的数据通过应用程序的 rails 部分的 json(服务器端处理)提供。我们已经尝试在“pjax:start”或“pjax:end”上销毁和重建数据表

感谢您的帮助 :)