我正在从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。

现在,当我将其放在计算机上时,什么也没有发生。我试图删除趋势框内的更改链接,但未将其删除。

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

最佳答案

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中删除。

关于javascript - Chrome扩展程序JavaScript程序无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41290759/

10-10 21:57
查看更多