javascript - Chrome 扩展 JavaScript 程序无法运行

标签 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。

现在,当我把它放在我的电脑上时,什么也没有发生。我尝试删除趋势框中的更改链接,但它没有被删除。

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

最佳答案

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/

相关文章:

javascript - 根据选择打印多个输入字段

javascript - 我可以在浏览器中设置/使用Nodejs环境吗?

javascript - 动态重新提供站点 javascript

javascript - Bootstrap 3 模态 - 从底部滑入并粘贴

html - .Net 函数来替换/编码和解码字符串中的 HTML 字符

javascript - 我的网站搜索表单的输入字段不接受输入

javascript - 使用 vue.js 添加搜索功能

javascript - 对象作为 React 子项无效(找到 : object with keys {login, id、点头等

JavaScript Split 和 jQuery .val() 我可以链接它们吗?

javascript - jQuery - 如何打印类名