2011-12-05 273 views
0

我刚做了一个Chrome扩展。我按照这个tutorial在我的工具栏中获得一个不错的按钮。现在,如果我加载一个页面,我的扩展中的JavaScript会被执行。Chrome扩展程序

不幸的是,如果我点击我的工具栏扩展的按钮,没有任何反应。

问:我如何做,当我在我的工具栏点击扩展的按钮JS得到执行?

感谢您的帮助。

编辑 我加入background.html,它仍然不工作:

<html> 
<head> 
<script> 
    // Called when the user clicks on the browser action. 
    chrome.browserAction.onClicked.addListener(function(tab) { 
    var action_url = "javascript:mathjax.js"; 
    chrome.tabs.update(tab.id, {url: action_url}); 
    }); 
</script> 
</head> 
</html> 

回答

3

你有两个选择。或者,您可以在manifest.json中指定"popup": "popup.html",然后将代码放入popup.html。在这种情况下,代码将在弹出窗口中执行(当然,您可以与您的背景页面或其他任何东西进行通信)。

可能更好的是通过附加一个听众chrome.browserAction.onClicked来回拨background.html

+0

可爱,谢谢你,你能告诉我怎么附加一个侦听onClicked? –

+0

我把这个变成background.html,但它仍然不会触发:'<!DOCTYPE HTML!> 背景页 ' –

+0

奇...我会用它今天晚些时候玩,看看有什么向上。如果您仅尝试在onClicked上显示警报,会发生什么情况? –

0

Chrome扩展不支持内嵌在background.html.You JavaScript代码必须file.Also而是指定指定background.html您可以直接在后台财产清单文件中指定的外部文件的外部JavaScript。

我已经回答了类似的问题here

+1

也许从其他答案的一些细节添加到这一个,而不是只提供一个链接/评论 –