这是我的第一个chrome扩展程序。
我基本上已经编写了一个html文件,其中包含一个javascript文件。我注意到显然你必须将javascript作为单独的文件放到html文件中。没关系。做过某事。在html标题中引用它。
但我不知道如何设置清单文件以便能够在我的弹出式html页面上使用javascript。
javascript不使用jquery。这是纯粹的javascript。
我不确定必须包含在清单中的必需或可选权限(如果有)。到目前为止,我所知道的是,我可能必须在那里包含“clipboardRead”权限。
或者我的意思是在清单中使用content_scripts。
这是我的表现。
{
"manifest_version": 2,
"name": "PhotoTagger",
"description": "This extension helps you create your hashtags for your posts, quickly.",
"version": "1.0",
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["PhotoTagger.js"]
}
],
"permissions": [
"clipboardRead",
],
"browser_action": {
"default_icon": "icons/Google-plus-19x19.png",
"default_popup": "PhotoTagger.html"
}
}
我的javascript中的示例函数就是这个(PhotoTagger.js):
function selectText(containerid) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById(containerid));
range.select();
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(containerid));
window.getSelection().addRange(range);
}
}
这是我的html调用Js函数的示例片段:
<li id="#Sydney" onclick="selectText('#Sydney')">
<input id="al2" type="checkbox" value="#Sydney +104262770460851770269"/>
#Sydney</li>
非常感谢我能得到的任何帮助。
另外提到html在chrome中打开的选项卡上运行正常。当我作为扩展程序运行它时,它不起作用。
答案 0 :(得分:0)
我刚刚开始使用ChromeExtensions,所以这可能不是一个完整的答案,但我看到了一些问题:
PhotoTagger.html应该能够与自己的JS进行交互,只需输入引用PhotoTagger.js的“脚本”标签即可。没有必要的权限。因此,如果你的代码片段在PhotoTagger.html中并且PhotoTagger.html中有一个对PhotoTagger.js的“脚本”引用,那么你应该没问题(你可以摆脱整个content_scripts部分)。如果您正在执行此操作并且它不起作用,则可能需要链接更多代码。
但是,如果您正在加载包含该html代码段的网页,则无法使用。该网页无法访问content_scripts或弹出窗口中的JS(我仍在为此寻找解决方法,但由于安全问题而被阻止)。