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