【问题标题】:Cannot make use of API functions in chrome extension无法在 chrome 扩展中使用 API 函数
【发布时间】:2014-04-11 21:30:26
【问题描述】:

我正在制作一个 chrome 扩展程序,我想使用第三方 API,但我遇到了一些问题,我已经被这个问题困扰了一段时间......

问题:

即使 chrome 开发工具显示 API 已成功加载,我也无法使用 API 中的功能。

我尝试在不同的时间加载 API,看看是否会有所不同,但似乎没有。

我已经在一个基本网页中成功使用了 API。但我似乎无法让它在扩展的内容脚本中工作。

这是加载 API 的代码:

(function() {
    var scr = document.createElement('script');
    scr.type = 'text/javascript';
    scr.src = 'someurl';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(scr, s);
})();

清单:

 "content_security_policy": "script-src 'self' someurl; object-src 'self'"

我还完成了 Google 提供的关于如何在扩展程序中使用 Google Analytics 的教程,因为我认为它是相关的。但没有运气。任何指导将不胜感激。

【问题讨论】:

  • 需要在哪里使用API​​?背景页、弹窗、内容脚本?
  • 内容脚本。因为我想在页面中注入一个按钮,当单击该按钮时,我希望打开一个模式,我将在该弹出窗口中使用 API。我会在扩展的弹出部分中使用它,但无法以编程方式打开浏览器操作弹出窗口。

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


【解决方案1】:

当您附加脚本标记时,您将 API 注入到网页的上下文中;你的内容脚本remains isolated 来自它。

为了避免这种情况,一种可能的解决方案是附加一些代码,然后通过through DOM 或通过external messages 与您的扩展程序通信

【讨论】:

    猜你喜欢
    • 2012-11-22
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多