首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >chrome扩展名不是用chrome.extension.getURL检索本地文件吗?

chrome扩展名不是用chrome.extension.getURL检索本地文件吗?
EN

Stack Overflow用户
提问于 2015-03-25 19:33:47
回答 1查看 1.6K关注 0票数 0

我得到了错误Uncaught TypeError: Cannot read property 'getURL' of undefined

script.js

代码语言:javascript
运行
复制
var app = {
    init: function() {        
        var c = document.createElement("img");
        c.src = chrome.extension.getURL("logo.png");
        document.body.appendChild(c);
    }
}
app.init();

manifest.json

代码语言:javascript
运行
复制
{
    "name": "my extension",
    "version": "1.0",
    "manifest_version": 2,
    "content_scripts": [
        {        
            "matches": ["<all_urls>"],
            "css": ["style.css"],
            "js": ["contentScripts.js"]
        }
    ],
    "web_accessible_resources": [
        "script.js",
        "logo.png"
    ],
    "permissions": ["<all_urls>"]
}

contentScripts.js

代码语言:javascript
运行
复制
var a = document.createElement("script");
    a.src = chrome.extension.getURL("script.js");
var b = document.createElement("style");
    b.src = chrome.extension.getURL("style.css");

(document.head||document.documentElement).appendChild(a);
(document.head||document.documentElement).appendChild(b);

不知道我做错了什么。其他帖子表明本地文件必须包含在您的manifest.json中。我正在注入的javascript工作得很好,但是chrome.extension.getURL方法似乎不起作用?

EN

回答 1

Stack Overflow用户

发布于 2015-06-24 12:31:40

脚本在页面内容中运行,而不是在扩展中运行,因此chrome.extension.getURL不可用。在将脚本标记添加到页面之前,您需要在扩展中执行getURL调用。

这样想吧:忘了你添加了标签。如果页面有来自原始服务器的脚本引用,它如何知道chrome在那里可以调用getURL?它不能,它需要知道完整的扩展URL (getURL的输出)。所以让你的剧本看起来像那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29264898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档