Chrome扩展JavaScript程序无效

时间:2016-12-22 19:56:38

标签: javascript jquery html twitter google-chrome-extension

我正在从教程here学习chrome扩展编程。

您可以找到Chrome扩展程序here的完整代码。

我试图删除一些链接的代码片段:

var clean_twitter = function(){
  var ugly = [];
  ugly.push('.Trends module trends');
  ugly.push('.flex-module');
  ugly.push('.MomentMakerHomeModule-header');
  ugly.push('.Footer module roaming-module');
  ugly.push('.flex-module-header');

  $('.promoted-tweet').hide(); // oops! :P

  for(var i=0;i<ugly.length;i++) {
    var u = $(ugly[i]).find('a'); // also 'b'
    u.text('');
  }
}

代码试图从twitter网站上删除一些按钮和div。

现在,当我把它放在我的电脑上时,没有任何反应。我尝试删除趋势框内的更改链接,但不会将其删除。

如果我在这里做错了,请帮忙。感谢。

1 个答案:

答案 0 :(得分:1)

process_new_tweets函数的开头,有一条注释解释了如何将DOM中.mini-profile的存在与否用作标记。

总之,DOM中缺少.mini-profile元素意味着函数返回并且不再继续。自编写本教程以来,Twitter似乎不再在其DOM中的任何位置具有.mini-profile元素,因此该函数始终返回并且脚本执行不再继续。

process_new_tweets函数的开头删除以下行:

var mp = document.getElementsByClassName('mini-profile');
if(mp.length === 0) { return; }

您在clean_twitter函数中选择的元素将按预期从DOM中删除。