问题标签 [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.
events - 如何拦截来自 chrome 用户脚本的 pjax 页面更改?
我可以检测history.pushState
来自 chrome 用户脚本(而不是扩展名)的 url 更改,而无需轮询(或打破脚本的孤立世界以拦截网页的 javascript 上下文中的调用)吗?
我的问题,更详细:
由于Github通过pjax [最小化示例]使用history.pushState
[ WHAT-WG 规范]进行站点内页面到页面站点导航,而不是在您浏览站点时重新加载整个页面,用户脚本针对站点上的特定 url只有当您在该网址进入网站或手动强制重新加载页面时才会触发。
我正在为 DRY 编写一个on.js的小用户脚本库:整理用户脚本,通过拦截调用来为他们处理这类事情,pushState
以查看我们何时在主机脚本想要运行的新页面上并仅调用它相关的。
如果在调用时触发事件,这将相对容易history.pushState
,但据我所知,popstate
除非第一页加载或用户触发历史记录的后退/前进移动,否则不会触发任何事件,这对我的目的来说毫无用处。
我也探索过将其限制为仅 pjax/github 的解决方案——当一个新页面加载时,github 会触发一个$(document).trigger('pageUpdate')
事件,但是由于在jQuery
内部而不是通过 DOM 事件实现这些,我听不到来自我的用户脚本运行的孤立世界的那些在,除非我在页面本身中注入一个小监听器,让它的jQuery
实例向我报告这个事件,然后我还不如劫持页面history.pushState
本身。
有没有人看到其他整洁的方法来实现这一目标?
asp.net-mvc-4 - 看不到为 pjax 触发的自定义事件
我正在尝试查看是否可以触发一些自定义事件,以诊断我是否正确连接了 pjax。据我所知,pjax 根本不起作用。
这是我正在测试的脚本块。
这是我页面的整个 HTML 输出。
至于 .NET 部分。
_ViewStart.cshtml
_Pjax.cshtml
现在,当我单击一个链接时,我看不到X-PJAX
正在发送的标题,我的控制台中也没有显示任何内容。
我有什么明显的遗漏吗?
ruby-on-rails - Rails、pjax 和标题标签
我有方法:
它应该有效,但我在语言环境中遇到俄语单词的问题:Авторизация
,作为回应ÐвÑоÑизаÑиÑ
=)
Pjax 在响应正文中接受标题标签,但将其添加到每个文件中——它不是 DRY 方式。
有任何想法吗?
javascript - DISQUS 和 Pushstate AJAX 或 Hashbang
有没有人让 Disqus 与 PJAX 甚至常规的#!
AJAX 一起正常工作。
让我们看一些这样做的人的例子:
第一个是使用 Hash bang 风格,第二个是 PJAX。现在单击这些站点,您会在 Disqus 中注意到您的 gravatar 图标消失了,如果您打开 javascript 控制台,您通常会收到错误和日志消息,因为该DISQUS
对象无法解除绑定。
我已经尝试过自己的随机黑客(这很困难,因为我找不到没有通过缩小混淆的 DISQUS js):
基本上我尝试了一堆清理技术,以便当我的 PJAX 加载新页面时它应该清理但我总是得到一些必然null
引发异常的事件。
javascript - yii 框架 CActiveform 依赖下拉菜单在 pjax 内容中不起作用
这是我依赖的下拉 php 代码:
我需要将此 php 代码放在 pjax 内容中。页面刷新时工作正常。但是当它使用 pjax 加载时,这个依赖下拉菜单将不起作用。
问题:
如何在使用 pjax 加载这个依赖下拉菜单时工作?我应该添加什么代码:
使这个依赖下拉有效?是否有任何脚本可以“重新加载”这个 php 代码,所以依赖下拉菜单有效?还是有其他解决方案?
jquery - 使用 pjax(和 jQuery.form?)发布带有文件附件的表单
我成功地将 pjax 用于链接和表单(GET
以及POST
)。但现在我有一个表格,它也必须发送一个<input type="file"...>
. 由于 pjax 不支持这一点,我查看了https://github.com/malsup/form ( jquery.form 插件)支持使用文件提交表单数据,但不支持使用浏览器的“pjax”方式历史对象。
那么,如何将 pjax 功能与包含文件字段的表单一起使用呢?有任何想法吗?
编辑:我之所以不简单地使用 FormData 对象,而是 jquery.form 插件:Internet Explorer 无法处理它们。该插件对此浏览器有一个解决方法。我不坚持使用 jquery.form 插件,但我需要一种方法让它适用于所有主要浏览器。
php - 多个 PJAX 请求
我正在尝试使用 PJAX 更新 2 个单独的 div。我的 PJAX 失败,只加载了第二个。这是一个例子:
问题是 2 个 pjax 请求不能同时运行,并且第二个与第一个重叠,所以只有第二个(id="content-2")被更新。Push 设置为 false 是有原因的,在这种特殊情况下我不需要推送 url,但我需要它用于站点的其他部分。
ruby-on-rails - pjax - 链接必须在 pjax 容器内吗?
我正在使用https://github.com/rails/pjax_rails。
我想将我的链接放在页面的“永久”部分。即在我的布局中
然后在视图内部:
这是我调用 pjax 的 javascript:
[您可能会注意到这与自述文件中的调用方法不同,但正如报告的问题所指出的那样,自述文件中的方法根本不起作用。]
这不起作用(链接重新加载整个页面)。
如果我使用 data-pjax-container 属性移动 div 内的链接,它可以工作(页面不会重新加载,只更新容器)。
我还没有看到链接实际上在容器之外的任何示例。谁能告诉我如何让它工作?
jquery - 使用 pjax 时销毁/隐藏 twitter 引导工具提示
在 Rails 应用程序上使用 pjax 时,没有从 DOM元素中删除twitter 引导工具提示,我遇到了一些问题。例如,当我将鼠标悬停在带有工具提示的元素上,然后单击指向另一个页面的链接时,工具提示被冻结。我目前删除工具提示的解决方案如下:
有没有更有效/更有效的方法来做到这一点?
django - Django 中的 PJAX 标头
我正在尝试使用 jQuery-pjax 和 django-pjax 对我的一些观点进行 pjaxify。据我了解,每个 pjax 请求都会发送一个额外的 header X-PJAX: True
。但是,即使(我认为)我的 pjax 代码工作正常,我也无法在任何地方找到它。
基本模板stock-template.html
:
在模板 1(股票索引)stock.html
和模板 2(股票列表)中stock-list.html
,我扩展了模板并重用了上面的导航,同时将 a<div class="tab-content">
作为指定容器放入其中。
网址.py
视图.py
总而言之,我认为我的代码有效,因为 PJAX 脚本被执行pjax:complete
并被调用。我只想仔细检查标题以确保它是 pjax 而不是 localhost 太快而无法注意到页面刷新。问题是我在 Chrome 或 Firefox 中看不到任何 X-PJAX 标头。
如您所见,我还尝试获取标题并将其发送到模板以显示,但它输出None
.
请帮忙。