4

我正在使用包含网页元素(例如按钮)的变量。但是,有时我会收到错误“无法访问死对象”,因为包含该元素的页面自从我保存它的那一刻起就发生了变化。

我想知道一种检查元素是否死亡的方法,我试过:

if(element)
    alert("Do something");

但它没有按预期工作。

4

2 回答 2

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 块中)的测试。

于 2014-05-19T20:37:32.037 回答
0

复制自如何检查可见 DOM 中是否存在元素?

   var elementInDocument = function(element) {
        while (element = element.parentNode) {
            if (element == document) {
                return true;
            }
        }
        return false;
    }

你可以像这样使用它:

if(elementInDocument(element))
    alert("Do something");
于 2013-08-23T11:38:41.597 回答