历史记录事件在使用 mootools 加载页面时触发
History event is triggered on the page load with mootools
我在历史记录管理方面遇到问题,在 safari 上实现 (http://mootools.net/forge/p/history)(所有版本)和旧版本的 chrome 历史记录更改事件在页面加载时触发,请检查控制台消息"历史记录更改":http://codepen.io/anon/pen/ByNRyy
var history_url_handler = function(url){
console.log('history change');
};
History.addEvent('change', history_url_handler);
火狐和最新版本的chrome没有问题,建议?谢谢
如果我
没记错的话,这可能是旧 chrome(很可能是 webkit)中的一个奇怪/错误,其中页面加载触发了onhashchange
事件。
如果我没记错的话,如果您加载提供初始哈希的页面,这不应该触发 onhashchange,但即使这样做,您也可以检查初始哈希是否是您给出的哈希值,并在这种情况下丢弃事件回调;如果您期望在加载时没有哈希,则这样的检查应该可以工作:
if (location.hash.trim() === '') return;
您也可以通过保留如下引用来仅跳过第一个回调:
var history_url_handler = (function(){
var firstCall = true;
return function(url){
if (firstCall && location.hash.trim() === '') return;
firstCall = false;
console.log('history change');
};
})()
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- Ajax在mootools中使用来加载文件
- Chrome拒绝加载MooTools
- 按文档 ID 加载 Mootools
- 历史记录事件在使用 mootools 加载页面时触发
- 在页面加载Ceraboox+Mootools时启动Lightbox
- 使网页显示为完全加载,或jQuery到MooTools的翻译
- Mootools .destroy 方法在将元素导入 DOM 并加载后不起作用
- JQuery无法工作,因为Mootools已加载到joomla中
- 未加载mootools资产
- 如何在mootools中加载常规图像