我正在使用包含网页元素(如按钮)的变量。 但是,有时我会收到错误“无法访问死对象”,因为自保存它以来,包含该元素的页面已更改。
我想知道检查一个元素是否死亡的方法,我试过:
if(element)
alert("Do something");
但它没有按预期工作。
答案 0 :(得分:0)
从How to check if element exists in the visible DOM?
复制 var elementInDocument = function(element) {
while (element = element.parentNode) {
if (element == document) {
return true;
}
}
return false;
}
您可以像以下一样使用它:
if(elementInDocument(element))
alert("Do something");
答案 1 :(得分:0)
//eval it in your mozilla-browser space
var dc = content.document;
content.document.location.reload();
setTimeout(function(){
try{
dc.parentNode;
}catch(e){
if (e.message.indexOf(' dead ')!=-1){
alert('REALY DEAD!');
}
} }, 1000);
这是对我的moz扩展项目中dead(在try..catch块中)的测试。