javascript - 在 Chrome 扩展中使用远程 JavaScript

标签 javascript jquery google-chrome google-chrome-extension

有什么方法可以将远程 JS 文件转成 chrome 扩展吗?

我的 manifest.json 看起来像这样:

{
    "name": "My Extension",
    "version": "0.1",
    "content_scripts": [
    {
        "matches": ["http://*/*"],
        "js": ["jquery.js", "main.js"],
        "run_at": "document_end",
        "all_frames": true
    }
    ]
}

我想使用一个 JavaScript API,它受所选域的使用限制,所以我不能像这样简单地将它插入到 Chrome 中的加载页面:

$('head').append('<script src="http://example.com/myApi.js?key=%key%"></script>');

因为 JS API 提醒我,我正在 URL 上使用它,而我还没有给他们。

我只想使用这个远程 JS 的一些功能。幸运的是,API key 可以在本地主机上注册和使用。

但我不知道如何解决这个问题——将远程 JS 文件放在哪里才能使用它。

我有一个想法来创建一个 "virtual DOM" ,但也许这不是解决方案,因为无法执行 JS API 代码。

在哪里插入代码?一些背景页面??

最佳答案

你试过吗:

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://example.com/myApi.js?key=%key%';
document.getElementsByTagName('head')[0].appendChild(script); 

我在我的 Google Chrome 扩展程序中使用它并且运行良好。

关于javascript - 在 Chrome 扩展中使用远程 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3321668/

相关文章:

javascript - 为什么 vscode 不将 react 代码识别为 react javascript 而是将其格式化为 vanilla javascript

javascript - jQuery click() 不起作用。实在不明白

java - 下载文件时如何为不同的浏览器正确设置中文文件名

javascript - Chrome 麦克风权限

javascript - Chrome 23 中的 Vibration API 隐藏在哪里?

JavaScript 点击事件

javascript - 如何更好的改变固定元素的位置

javascript - Expo AV : 'if' video has finished, 返回开始

javascript - 如何在 jQuery 中创建链式延迟动画序列?

javascript - 使用 ASP 通用处理程序上传 ajax 文件后防止刷新