在Google Chrome扩展中执行Python脚本(读取计算机用户数据) - NPAPI

1 投票
1 回答
821 浏览
提问于 2025-04-16 20:55

http://code.google.com/chrome/extensions/npapi.html

我看了这个文档,结果搞得我一头雾水。我按照http://www.firebreath.org/display/documentation/Building+on+Linux上的说明,构建了一个示例的npapi .so插件。

一切都运行得很好(插件安装正确并被识别),直到我在我的未打包扩展的popup.html中使用它时,出现了以下错误:

<embed type="application/x-sample" id="sample">
<script>
console.log((document.getElementById("sample"))().echo("asdf"));

popup.html:18未捕获的引用错误:NPObject已被删除

经过各种测试,似乎在插件对象上调用构造函数时会抛出这个错误。我完全不知道发生了什么。

我真正想做的就是用Cython把一个.py文件编译成一个.so或.dll文件,然后能够在我的扩展中调用它的方法。
有没有人知道简单的方法来做到这一点?/ 有人能提供一个简单的“你好,世界”示例来演示这个工作吗?

1 个回答

0

你的额外的括号是从哪里来的呢?很可能应该是这样:

console.log(document.getElementById("sample").echo("asdf"));

你想做的事情可能会导致尝试调用NPObject上的“默认”方法,而这个方法可能根本不存在,所以就会出现错误。

撰写回答