我遇到history.js
的问题https://github.com/browserstate/history.js/
第3170行中的事件onload处于无限循环
这个事件是什么以及触发它的是什么?!
仅在Chrome中我遇到此问题
/**
* Bind for Saving Store
*/
if ( sessionStorage ) {
// When the page is closed
History.onUnload = function(){ // <----- this is triggeren in a loop
// Prepare
var currentStore, item, currentStoreString;
// Fetch
try {
currentStore = JSON.parse(sessionStorage.getItem('History.store'))||{};
}
catch ( err ) {
currentStore = {};
}
答案 0 :(得分:0)
在我评论了您的问题之后,我找到了解决方案。 History.js报告了有关此行为的问题here。
主要原因是setInterval
调用,由于IE8限制而导致调用。代码中的问题是它在每种情况下都适用,不仅适用于IE8。
直到有时在主项目中修复,这个不必要的轮询可以通过在#1992行编辑History.js的代码来修复。
// For Internet Explorer
if (History.isInternetExplorer() && History.getInternetExplorerMajorVersion() < 9) {
History.intervalList.push(setInterval(History.onUnload, History.options.storeInterval));
}