我这里有一些代码可以捕获任何标签点击...
var debug = Base.debug;
$(document).on('click', 'a', function () {
if (debug) {
console.log("Caught click going to '" + $(this).attr('href') + "'");
}
Base.push({ href: $(this).attr('href'), extra: "Caught href from 'a' element" });
return false;
});
似乎是在我使用Uncaught Error: SecurityError: DOM Exception 18
的时候,但是当我只使用push
时,它就不会发生。
push
仍被称为。
我正在使用本地文件系统进行开发。与http
代替file
使用http
。
我还没有在return m.isLastSavedState(f) ? m.busy(!1) : (m.storeState(f), m.expectedStateId = f.id, n.replaceState(f.id, f.title, f.url), m.Adapter.trigger(a, "popstate")), !0
中尝试过,但我认为错误会因为其他问题而消失。
实际的潜在错误是什么?究竟出了什么问题?其他人已经问过,但他们只能得到解决方法。我想了解它。
编辑1
我将错误追踪到:
jQuery 1.9.1
Base.push
中的
location.assign
执行一些小操作,例如在localstorage中存储一些内容,然后使用给定的href
Base.push
编辑2
在评论Base.push
的调用时,我没有再收到错误,因为当我调用href
时,它运行良好,没有错误。点击仍在继续。返回false并不会阻止location.assign
继续。
我之间是否有点击a
和{{1}}元素的内容?