我正在尝试做一个扩展,它将运行在tumblr.com/dashboard上,它将隐藏任何“推广”的div (即我不关注的博客,这不是付费推广)
我在hidestuff.js中有以下代码
$(document).ready(function() {
var hide = $( "div:has(.post_dismiss)" );
for (var i = 0; i < hide.length; i++) {
var div = hide[i].getAttribute('id');
var id = "#"+div;
$(id).hide();
}
});下面是我的manifest.json中的内容
{
"manifest_version": 2,
"name": "I'm Not Following You",
"version": "0.1",
"content_scripts": [
{
"matches": [
"https://tumblr.com/dashboard", "http://tumblr.com/dashboard"
],
"js": ["hidestuff.js"]
}
]
}Tumblr使用的是jQuery,因此我没有包含副本。
我已经测试了代码(通过从我的Tumblr仪表板复制DOM,其中包括我试图隐藏的div),并且测试工作正常。然而,将其添加到Chrome中并不起作用。
这是我第一次尝试做一个扩展,我遵循了一个简单的教程。它可能已经过时了,但教程中没有日期,但我不知道我错在哪里。
发布于 2016-04-18 08:40:12
matches中更新您的manifest.json字段,因为"https://tumblr.com/dashboard"与您自己的jquery不匹配。Chrome扩展不能访问该页面创建的任何JavaScript变量或函数。所以最终的版本是:
manifest.json
{
"manifest_version": 2,
"name": "I'm Not Following You",
"version": "0.1",
"content_scripts": [
{
"matches": [
"https://www.tumblr.com/dashboard",
"http://www.tumblr.com/dashboard"
],
"js": [
"jquery.js",
"hidestuff.js"
]
}
]
}hidestuff.js
$(document).ready(function () {
var hide = $("div:has(.post_dismiss)");
for (var i = 0; i < hide.length; i++) {
var div = hide[i].getAttribute('id');
var id = "#" + div;
$(id).hide();
}
});https://stackoverflow.com/questions/36682084
复制相似问题