我正在为一个论坛构建一个 Chrome 扩展程序,但问题是我的 popup.html 的 JavaScript 不会执行任何操作。我在顶部添加了 alert("popup.js running..."),它确实出现了,但我的弹出窗口根本不显示。这是一个问题,因为弹出页面将需要 JavaScript。我有点迷路了,所以我假设我只是遗漏了一些阻止我的 JavaScript 运行的东西。我听说 AdBlock 扩展程序会阻止它运行,但我删除了它,但它仍然不起作用。有人看到问题了吗?
list .json
{
"name": "Riggy",
"short_name": "Riggy",
"description": "Create your own Roblox Forum signature with Riggy!",
"version": "0.0.1",
"manifest_version": 2,
"browser_action": {
"default_popup": "popup/popup.html"
},
"permissions": [
"storage"
],
"content_scripts": [
{
"matches": ["http://www.roblox.com/*"],
"js": ["scripts/jquery.js", "scripts/content.js"]
}
]
}
弹出窗口
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="popup.css" />
<script type="text/javascript" src="scripts/jquery.js"></script>
</head>
<body>
<span class="title">Riggy</span><br />
<span>Signature: </span><input name="siggy" id="siggy" value="Riggy is greatness!" />
<span id="output">[output]</span>
<script type="text/javascript" src="popup.js"></script>
</body>
</html>
弹出窗口
alert("popup.js running");
$(document).on("ready", function() {
var siggy = $("#siggy");
var output = $("#output");
function message(text) {
output.html(text);
}
siggy.change(function() {
chrome.storage.sync.set({"siggy": siggy.val()}, function() {
message("Saved signature.");
});
});
message("Riggy is ready!");
});
最佳答案
我的扩展程序也遇到了同样的问题,我相信在我将其添加到 list 文件后问题已经解决。
list .json
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
更多信息在这里:http://developer.chrome.com/extensions/contentSecurityPolicy.html .
关于javascript - Chrome 扩展不会从弹出文件加载我的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20157065/