Mutation observers observe the DOM, not objects, and are not relevant here.
Object observers cannot observe location.hash
, not because location
is a system object or a security risk, but because hash
is a synthetic property managed internally by the equivalent of getters and setters.
In your case, you don't need any of that. You can watch for hash changes using the popState
event.
window.onpopstate=function() { console.log("foo"); };
location.hash = "bar";
"foo"
I don't know what your intent is in watching for changes in location.pathname
. That will cause a page reload before your handler has a chance to do anything.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…