Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从JS文件编辑manifest.json文件?_Javascript_Html_Google Chrome Extension_Manifest.json - Fatal编程技术网

Javascript 如何从JS文件编辑manifest.json文件?

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

我正在制作一个GoogleChrome扩展,当用户输入句柄时,它会解析Twitter提要的源代码。我知道,除非在
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不管它如何工作,只是花了一点时间加载:)