- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在通过 greasemonkey 脚本/opera 扩展将以下代码注入(inject)网页以捕获 history.pushState
命令,因此我可以在它被触发时进行一些处理并仍然允许 pushState
命令以在之后继续。
(function(history){
var pushState = history.pushState;
history.pushState = function(state) {
if (typeof history.onpushstate == "function") {
history.onpushstate({state: state});
}
alert('pushstate called')
return pushState.apply(history, arguments);
}
})(window.history);
代码在 FF4 和 Chrome 中运行良好,但在 Opera 11 中,如果页面调用 history.replaceState
命令,我会收到以下错误:
Uncaught exception: TypeError: 'window.history.replaceState' is not a function
有谁知道如何修复上述代码以在 Opera、Chrome 和 Firefox 上运行?
最佳答案
在 Opera 11.00, Revision 1156 中,支持的 history API 是这些
>>> history.
back, current, forward, go, length, navigationMode
完整 HTML5 history API Opera 11.00 尚未涵盖。一般来说,如果您想发现、探索支持的内容,您可以轻松使用 dragonfly 的控制台模式。 ,Web 开发人员工具。
关于javascript - 重写 history.pushState 导致 opera 11 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4793379/
我有下面这个简单的 html 代码。它在我的 Chrome 和 IE11 开发环境 (Visual Studio 2010) 中按预期工作(将 ?SomeParam 附加到 url)。当我将其放入网络
我在下面有这个简单的 html 代码。它在我的 Chrome 和 IE11 开发环境 (Visual Studio 2010) 中按预期工作(将 ?SomeParam 附加到 url)。当我把它放在网
我在 JavascriptMVC 应用程序中使用 window.history 来为每个 Controller 启用后退/前进/刷新功能。每次加载新 Controller 时,我都会使用 window
假设我们有一个 这对页面的状态进行了重要的更改。 Primefaces 5.1 生成以下 HTML: Click me for state 1 Click me for state 2 在 popst
我正在使用 HTML 历史记录 API 来操作浏览器历史记录堆栈,以在我的网站上使用 JavaScript 控制导航。我设置的更改页面的功能工作正常,但奇怪的是,当我将 pushState 添加到每个
我有一个带过滤器的电子商店。当有人使用过滤器时,url 会通过 AJAX 进行更改。 我所做的是使用 .ajaxComplete 函数来检查 ajax 完成情况。在这个函数中,我有一个名为 Repla
我创建了一个 Web 应用程序,它利用 history pushState 和 replaceState 方法来浏览页面,同时更新历史记录。 脚本本身几乎可以完美运行;它将正确加载页面,并在需要抛出页
我正在研究技术:History API PushState (HTML5) 我需要用于使用 URL 重定向的命令,因为我有服务器的 CherryPy。 我无法将数据从 Cherrypy(使用 Mako
在测试场景中,我有两个页面 pageA 和 pageB。 在第一步中,一个按钮触发window.history.pushState 调用,并在地址栏中显示pageB 的地址。 第二步浏览器地址栏用于请
我有这个 URL 替换查询: window.history.pushState(null, null, window.location.search.replace(/\bcolor=[^&]*/,
我通过 stackoverflow 找到了 history.pushState() 的示例,但我不明白每件事的作用。这就是我的 var stateObj = { foo: "bar" }; h
这是代码: $.ajax({ type: "POST", url: url, xhr: function(
我试图遵循此处使用的示例:http://html5.gingerhost.com/我决定使用 jQuery 的 .load() 代替 JSON, 这是我的代码: $(function() {
我正在使用history.pushState来操作浏览器历史记录,有没有办法撤消/弹出特定的推送状态。 假设我从 google.com 转到 myPage.com。在 ajax 调用之后,我执行 Pu
所以我有这个菜单: Meet The Team What We Do See Us In Action
有谁知道确定是否可以使用 pushState 的库? 我在用这个: if(window.history.pushState){ window.history.pushState(null, d
如 GitHub's blog 所示, 他们实现了 HTML5's JavaScript pushState树浏览功能(适用于现代浏览器),带来 AJAX 导航 without Hash Bangs
我已经读过十几遍了,状态对象可以存在于多个键|值对中,并且它与新的历史条目相关联。但是有人可以给我一个状态对象的好处的例子吗?它的实际用途是什么?我无法想象为什么不直接输入 {} 最佳答案 以这个小例
我有一个简单的 React Router 配置。我有另一个基本上用 ... 包装的,它有效。但是这个没有(当然,我尝试使用不同的实现,就像 this post 和许多其他人的答案中所建议的那样。 控制
我使用 history.pushState( stateObject, title, url ) 将新条目推送到浏览器的历史堆栈。尽管有名称,第二个参数 title 并未设置浏览器历史记录中显示的条目
我是一名优秀的程序员,十分优秀!