我正在尝试实施一个自助游,但我遇到了一个警告。我正在开发的网站使用一个名为upfront的脚本来更改div id和类(它是一个实时网页编辑器)。
加载页面时,我将我的引导程序游览脚本推迟到最后加载,但是当页面完全加载时,我的脚本似乎没有检测到前期更改,直到我打开开发控制台。在jQuery / JavaScript中是否有一种方法我可以看到页面等到这些前期更改完成之后?
我尝试使用之前的帖子尝试观察DOM更改(下面的功能):
var observeDOM = (function(){
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver,
eventListenerSupported = window.addEventListener;
return function(obj, callback){
if( MutationObserver ){
// define a new observer
var obs = new MutationObserver(function(mutations, observer){
if( mutations[0].addedNodes.length || mutations[0].removedNodes.length )
callback();
});
// have the observer observe foo for changes in children
obs.observe( obj, { childList:true, subtree:true });
}
else if( eventListenerSupported ){
obj.addEventListener('DOMNodeInserted', callback, false);
obj.addEventListener('DOMNodeRemoved', callback, false);
}
};
})();
但由于这是一个实时网页编辑器软件,因此DOM根据鼠标在屏幕上的位置不断变化。我进行了设置,以便它等待,如果没有更新持续时间来运行我的脚本,但如果用户简单移动鼠标,它将启动不是我想要的过程。