如果我想在点击扩展时运行javascript,则绕过“无弹出窗口”

时间:2013-07-15 02:38:00

标签: javascript google-chrome google-chrome-extension popup browser-action

我有一个chrome扩展程序,每当我按下弹出窗口时我都要触发。目前,只有从manifest.json中删除popup.html才能执行此操作,因为对此有限制。但是,我需要popup.html

如何同时获得两者?

我尝试在popup.js(在popup.html中正确链接)中的popup.html中放置完全相同的内容,并且没有。

简而言之,如果我把它放在background.js:

chrome.browserAction.onClicked.addListener(function(info, tab) {
    speakMe();
    });

有效。

但是,这意味着清单中没有popup.html。所以,我自然会尝试这样做:

    <script>
    chrome.browserAction.onClicked.addListener(function(info, tab) {
  speakMe();
});
    </script>
popup.html中的

。它不起作用。按下图标会正常显示弹出窗口,但没有任何反应。

我尝试将它放在popup.js中,但仍然没有。我做错了什么?

1 个答案:

答案 0 :(得分:2)

在popup.js中添加一个onload侦听器:

onload = function() { console.log("I loaded!"); };

在该功能中,您可以在弹出窗口时执行有趣的操作。如果您想获得更多花哨,可能会遇到https://code.google.com/p/chromium/issues/detail?id=31262中描述的问题。

顺便说一句,你还没有告诉我们“它不起作用”的意思(哪一行失败了?是否有控制台错误消息?),所以很难确定这个答案(或任何一个)是否有用给你。请参阅https://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist了解要遵循的步骤,以确保给出的答案是您问题的答案。