Javascript 如何从JS文件编辑manifest.json文件?
我正在制作一个GoogleChrome扩展,当用户输入句柄时,它会解析Twitter提要的源代码。我知道,除非在Javascript 如何从JS文件编辑manifest.json文件?,javascript,html,google-chrome-extension,manifest.json,Javascript,Html,Google Chrome Extension,Manifest.json,我正在制作一个GoogleChrome扩展,当用户输入句柄时,它会解析Twitter提要的源代码。我知道,除非在manifest.json文件中授予外部站点的权限,否则无法提取外部站点的源代码。但是,在我的例子中,URL将根据用户输入的Twitter句柄而变化,因此如何直接从我的popup.js脚本编辑清单文件 例如,我想要这样的东西: { "permissions": [ "http://www.twitter.com/" + handle + "/with_repli
manifest.json
文件中授予外部站点的权限,否则无法提取外部站点的源代码。但是,在我的例子中,URL将根据用户输入的Twitter句柄而变化,因此如何直接从我的popup.js
脚本编辑清单文件
例如,我想要这样的东西:
{
"permissions": [
"http://www.twitter.com/" + handle + "/with_replies"
]
}
在我的manifest.json
文件中
var handle = "CNN";
$(document).ready(function() {
$.get("http://www.twitter.com/" + handle + "/with_replies", function(data) {
$("#body").text(data);
});
});
返回CNN推特提要的内容
************************************************更新************************************************
因此,为了测试代码是否有效,我将manifest.json
文件更改为包含http://www.twitter.com/*
作为权限,我将jQuery代码更改为:
$.get("https://twitter.com/", function(data) {
$("h5").text(data);
});
});
这是在一个监听按钮点击的事件监听器中,因此这应该会将h5元素的文本更改为网页的源,但它不会。我已尝试替换https://www.twitter.com/*
与https://www.twitter.com/
但它仍然不起作用。但是如果我将jQuery代码替换为类似$(“h5”).text(“Hello world!”)这样的简单代码代码>,工作正常。我提取页面内容的jQuery代码是否有问题
这是我的清单文件中的权限部分的外观:
"permissions": [
"activeTab",
"storage",
"https://twitter.com/*"
]
出于安全原因,我怀疑你能否编辑该文件。但是,您可以在不同的场合执行多个content_脚本。因此,如果您的条件在该网站上满足,它将执行
"content_scripts": [
{
"matches": ["https://www.google.com/*"],
"js": ["jquery.js", "myGoogleScript.js"]
},
{
"matches": ["http://www.example.com/*"],
"js": ["jquery.js", "myExampleScript.js"]
}
]
有关详细信息,请转到:您不能,清单由浏览器处理。。。。即使你可以改变它,这些改变也可能不会生效。我想你可以把“http://www.twitter.com
“关于权限。。或者可能“http://www.twitter.com/*
“@felipenathancampigo感谢您的回复。我尝试过你的建议,但现在jQuery的执行似乎出现了问题,我已经在上面对其进行了更新。@FelipeNathanCampigoto不管它如何工作,只是花了一点时间加载:)