我正在制作一个 Google Chrome 扩展程序,当用户输入句柄时,它会解析 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 返回 Twitter 提要的内容。
************************************************ 更新 * ***********************************************
因此,为了测试我的代码是否有效,我将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/*"
]