Chrome扩展程序 - 此扩展程序可能已损坏

时间:2016-06-08 05:29:31

标签: google-chrome-extension

我为Chrome创建了一个扩展程序。我需要允许用户出于各种原因更改扩展中的javascript文件。当在C:\ Users \\ AppData \ Local \ Google \ Chrome \ User Data \ Default \ Extensions \ cidaekdakljdsijofjahinafcafmanb \ 6.0.5_0 \ whatever.js中更改whatever.js文件时,Chrome返回"此扩展程序可能已经腐败了。"我必须重新安装扩展程序。

如何阻止这种情况?如何允许更改javascript文件?我只是想设置一个变量。我可以包含一个文本文件并进行更改吗?在什么情况下我可以让Chrome停止这样做?

我可以添加用户脚本吗? whatever.user.js?我在某处读过这篇文章。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以通过遵循正确的开发实践来解决它。如果您让用户编辑代码来为变量收费,这就是一个巨大的编码问题。

相反,它应该可以通过用户界面进行更改,例如在extension options page中。如果要完全控制该选项,请从服务器下载或从Web可访问扩展资源json文件中读取它。这是一个从您在评论中询问的文件中读取的示例:

    var url = chrome.extension.getURL("options.json"); //in manifest under web_accessible_resources
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function (e) {
        if (xhr.readyState == 4 && xhr.status == 200) {
            var options=null;
            try {
                options = JSON.parse(xhr.responseText);
            }
            catch (e) {
                console.log("error: cant parse options.");

            }
            if (options) {
                //got it!
            }
        }
    };

    xhr.open("GET", url);
    xhr.send();

这也简化了很多用户体验和可能的用户错误。事实上,每个操作系统以不同的方式存储和缓存代码将是一个支持的噩梦。

并且不,您无法绕过用于保护用户免受修改扩展源代码的病毒的Chrome安全措施。