2

我正在尝试为 Chrome 构建一个扩展,但我是新手,我无法理解 Google 提供的文档。我希望扩展程序有一个显示几个按钮的弹出窗口,当单击一个按钮时,我想运行一个脚本。

这是我的设置:

popup.html

<button id="test1" onclick="getSite();">button 1</button>
<button id="test2" onclick="getSite();">button 2</button>

content_script.js

function getSite(){alert('getSite works!');}

我无法理解如何使用 chrome javascript api,因为我看到其他人说 use chrome.tabs.executeScript,但我无法弄清楚那条线的去向。谁能帮我?我给你一块饼干!或者只是一个赞成票..或者两者兼而有之?

4

2 回答 2

2

您还没有提到您希望脚本在哪个页面上运行onclick,在 Popup.html 页面或用户当前在浏览器上工作的页面。如果它只是popup.html page您想要执行脚本的地方,请将它们包含在popup.html页面本身中。

但是,如果您想在用户的浏览器页面上执行它们,则必须将一条消息传递给您的后台页面,该页面又将chrome.tabs.executeScript使用当前选项卡的 id 和{file: 'yourjsfile.js'}作为参数执行。

于 2012-05-08T07:27:35.787 回答
1

我认为由于Google 内容安全政策施加的限制,您遇到了这个问题。它提到像您在代码中提到的那样的 iniline javascript 将不会被执行。尝试onclick="getSite()"从您的 HTML 标记中删除content_script.js. 使用addEventListener函数将事件附加到按钮。

于 2012-05-08T05:51:51.450 回答