javascript - 在background.html中监听NPAPI事件

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

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

这是代码:

背景.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 将事件放入插件打开的普通 html 页面(backgroundpage 除外)中时,我能够接收事件并执行功能。

我做错了什么吗?

提前致谢!

最佳答案

很可能您在尝试添加监听器之前没有等待插件加载;您可以使用 onload 参数告诉它在加载时运行 pluginLoaded() ,因此请尝试将 cons.js 中的行移动到 function pluginLoaded() { 。 .. }.

关于javascript - 在background.html中监听NPAPI事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18572918/

相关文章:

javascript - 在没有严格比较的情况下,哪些值被评估为 true 和 false?

javascript - 为什么我的 Angular 应用程序在 Internet Explorer 中发送许多请求

javascript - dygraph - 如何更改条形图的系列名称

javascript - 在不使用动画的情况下滚动到元素的顶部

javascript - 谷歌浏览器不尊重缓存控制中的最大年龄

javascript - 在页面更改时运行脚本

html - 如何阻止我的 chrome 扩展注入(inject)按钮样式被覆盖?

javascript - 尝试获取选项卡 URL 时 Chrome 扩展 : Background. js "Uncaught TypeError"

javascript - 调用网页内 'content_script.js'中的函数

javascript - mapbox-gl 中是否有每页 map 限制?