ここに、タグのクリックをキャッチするこの小さなコードがあります...
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
ませんが、これに関する他の質問に従ってエラーが解消されると思います。
実際の根本的なエラーは何ですか? 実際に何がうまくいかないのですか?他の人が尋ねましたが、それを修正する方法についての回答しか得られませんでした. 理解したい。
編集1
私はエラーを追跡しました:
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
のjQuery 1.9.1
Base.push
localstorage にいくつかのものを保存location.assign
してから、指定されたhref
編集2
Base.push
意味のない呼び出しをコメントアウトしても、エラーが発生しなくなりました。これを呼び出すBase.push
と、エラーなしでうまく実行されるためです。また、クリックはまだ続いています。href
false を返すと、続行が停止しません。
私の呼び出しlocation.assign
とa
クリックされている要素の間に何かがありますか?