更改 History.js for HTML4 浏览器的行为
Changing the behaviour of History.js for HTML4 browsers
我正在使用history.js插件(https://github.com/browserstate/history.js/(在打开时为页面上的元素提供某个唯一的URL。
正如预期的那样,这在HTML5浏览器中效果很好,但是该插件并没有完全满足我在HTML4浏览器(换句话说,Internet Explorer(中的需求。
基本上,我遇到了与插件文档中概述的相同的陷阱,如下所示:
如果使用哈希,这些问题是不可避免的。
如果我们没有从主页开始,网址就会受到污染
http://www.facebook.com/balupton#!/balupton?sk=info
http://mywebsite.com/page1#/page2
虽然,我的 URL 并没有这么糟糕,除了扔进的哈希之外,URL 是可用的。最后删除 suid 也很好,因为在我的情况下没有必要,但如果不可能,应该没问题。
以下是我的 URL 需要的样子:
http://domain.com/sitename/main/item/109
这是IE中的结果:
http://domain.com/sitename/#main/idea/109?&_suid=13812466306670658...
据我从文档中收集到的是,我唯一的选择是禁用HTML4回退,这意味着IE中不会发生任何事情。
我想知道是否有办法放弃 HTML4 回退选项,但仍然在其位置使用 HTML5 解决方案(以相同的方式更改 url,只是使用不同的方法。我知道用于HTML5解决方案的方法不起作用(。或者,如果有任何其他方法可以改变HTML4解决方案的实现方式,使其适应该项目的需求?
更新:在我自己的研究中,我似乎发现在不使用哈希的情况下不可能更改符合HTML4标准的浏览器的URL。我目前正在将一些解决方法集成到我的项目中,以便我们的 URL 使用哈希。我仍然对这个问题持开放态度,因为这不是一个真正的答案,我什至不知道我是否 100% 正确。
如果仍然需要,那么为您清理 URL 的部分答案将是下面的解决方案。尝试以下有关 https://github.com/browserstate/history.js/的代码
History.options.disableSuid
强制历史不附加 suid
- 访问布局信息是否也会导致浏览器重排
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 有时数据是't显示在浏览器中
- 使图像在单击时展开到不大于浏览器
- fetch() 函数未在 Ubuntu Chromium 浏览器上定义
- 不同浏览器中的空白字符正则表达式行为
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何临时暂停浏览器渲染,然后恢复整个页面
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 禁用(而不是隐藏)浏览器滚动条
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 更改 History.js for HTML4 浏览器的行为
- 如何强制浏览器停止将动态插入的代码解析为HTML4
- JQuery History.js插件在HTML4和HTML5浏览器中都不替换一个页面的状态