在background.html中收听NPAPI事件

时间:2013-09-02 12:08:29

标签: javascript google-chrome google-chrome-extension npapi firebreath

我正在使用FireBreath。我想听一下background.html / background.js中的事件,并在收到事件后执行操作。

以下是代码:

background.html

<html><head>

<script src="cons.js"></script>
</head>

<body onload="load()">
    <object id="plugin0" type="application/x-bohemian" width="300" height="300"><param name="onload" value="pluginLoaded" /></object>
</body>
</html>

cons.js

document.getElementById("plugin0").addEventListener("login", function(){
    console.log("chrome extension party!");
}, false);

但是当我从NPAPI插件触发事件时,未显示console.log消息。

当我使用chrome.tabs.executeScript将它放入插件(除了backgroundpage)打开的普通html页面内时,我能够收到事件并执行函数。

我做错了吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

在您尝试添加侦听器之前,很可能不会等待插件加载;你可以onload param告诉它在加载时运行pluginLoaded(),所以请尝试将cons.js中的行移到function pluginLoaded() { ... }