【问题标题】:Execute Python script (that reads user data on computer) in Google Chrome extension - NPAPI在 Google Chrome 扩展程序中执行 Python 脚本(读取计算机上的用户数据) - NPAPI
【发布时间】:2011-07-06 09:12:08
【问题描述】:

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:18Uncaught ReferenceError: NPObject deleted

从各种测试来看,似乎在插件对象上调用构造函数会引发错误。我不知道这里发生了什么。

我真正想做的就是使用 Cython 将 .py 文件编译成 .so 或 .dll,然后能够在我的扩展程序中调用其方法。
有谁知道一个简单的方法来做到这一点? / 任何人都可以提供一个简单的“你好,世界”的例子吗?

【问题讨论】:

    标签: python google-chrome-extension npapi cython firebreath


    【解决方案1】:

    你的额外 () 来自哪里?很可能应该是这样的:

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

    您尝试执行的操作可能最终会尝试调​​用 NPObject 上的“默认”方法,该方法可能不存在,因此会引发异常。

    【讨论】:

    • 没有骰子。 popup.html:18 Uncaught TypeError: Object #&lt;HTMLEmbedElement&gt; has no method 'echo' 我正在使用从示例构建的 npFBTestPlugin.so,并将其包含在我的 manifest.json 中。
    • 尝试使用对象标签;嵌入标签对我来说经常效果不佳。但是,如果这不起作用,那么插件就没有加载
    最近更新 更多