【问题标题】:Chrome Packaged App Access Chrome APIsChrome 打包应用访问 Chrome API
【发布时间】:2014-03-23 22:54:18
【问题描述】:

我有兴趣编写一个可以访问有关 chrome 的数据的打包应用程序,即chrome.windows.onCreatedchrome.windows.onRemoved 事件。如果我尝试向其中任何一个添加侦听器,我会在控制台中收到错误消息:

Uncaught TypeError: Cannot read property 'onRemoved' of undefined

有没有办法解决这个问题?

【问题讨论】:

    标签: google-chrome google-chrome-extension google-chrome-app


    【解决方案1】:

    这里有一个简单的错字:它是chrome.windows.onRemoved 而不是chrome.windows.OnRemoved ;)

    注意小写的o

    【讨论】:

    • C# 正在蔓延。错字只是因为我在这里输入了它。我的 *.js 文件中不存在它。
    【解决方案2】:

    chrome.windows API 是 Chrome 扩展 API,而不是打包应用 API。扩展程序使用它与浏览器窗口进行交互。

    如果您可以将应用程序编写为扩展程序,那么它将能够使用该 API。然而,打包的应用程序除了自己的窗口外,没有能力操纵其他窗口。

    【讨论】:

    • 这就是我所害怕的。
    【解决方案3】:

    其他答案是正确的,这不能直接从打包的应用程序中实现,但是有一个解决方案可以满足您的需求:您可以编写扩展程序以及打包的应用程序,并让它们与chrome.runtime.sendMessage 通信。

    用户必须同时安装应用程序和扩展程序,但您可以通过在应用程序中将他们引导至 chrome 网上商店来简化此操作。你可以在这里阅读:Communicating between a Chrome packaged app and a Chrome extension?

    编辑:正如对该线程的评论中所指出的,有一个 Chrome 应用程序示例可以帮助演示这一点:https://github.com/GoogleChrome/chrome-app-samples/tree/master/messaging

    【讨论】:

    • 感谢您的建议。这让我可以做我想做的事。
    猜你喜欢
    • 1970-01-01
    • 2015-07-24
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 2013-06-28
    • 2014-05-21
    • 1970-01-01
    相关资源
    最近更新 更多