gpt4 book ai didi

javascript - Firefox Addon 脚本可信页面内容

转载 作者:行者123 更新时间:2023-12-03 12:13:10 25 4
gpt4 key购买 nike

所以我尝试在我的附加组件中使用 chrome://URI,并且我想使用脚本可信内容方法在其上使用页面工作人员,但是当我硬编码时它似乎不起作用URI chrome://<package name>/<part>/<file> ;但是,当我使用 self.data.url('filename') 时它会起作用。我想使用 chrome://URI 是因为我使用 GUID 而不是电子邮件样式作为加载项的 ID,而且我不想使用 resource://URI。

内容脚本

addon.port.emit('hi');

HTML

<html>
<head>
<meta charset="UTF-8">
<title>Gaia Utils Settings</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="chrome://gaiascripts/content/dropdown.min.js"></script>
<script type="text/javascript" src="chrome://gaiascripts/content/settings.dev.js"></script>
<script type="text/javascript" src="chrome://gaiascripts/content/test.dev.js"></script>
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="css/settings.css" rel="stylesheet" type="text/css">
<link href="css/poststyle.css" rel="stylesheet" type="text/css">
</head>
<body>
<nav id="navbar_header" class="navbar navbar-blue navbar-static-top"></nav>
<div id="content_wrapper" class="container">
<div id="content_padding" class="container"></div>
</div>
<footer class="footer"></footer>
</body>
</html>

main.js

var PageWorker = require("sdk/page-worker");
PageWorker.Page({
contentURL: "chrome://gaiautils/content/settings.dev.html",
onMessage: function(message) {
console.log(message);
}
});

我知道我可以使用页面模块并将脚本附加到它,但我宁愿从文件内调用脚本并能够与主要附加代码进行通信。那么有没有一种方法可以让我鱼与熊掌兼得——使用硬编码的 chrome://URI 并结合从 HTML 文件中调用脚本,同时能够让这些脚本与主脚本进行通信。 js 文件?

最佳答案

How can I have it so that I can use the addon.port.emit() in the content scripts that are called directly in the HTML file so that I don't have to use the self.data.url('htmlFile'), because I don't want to use the resource://pageckage-GUID-at-jetpack/path/to/file

仅当您加载的 URL 是附加资源 (data/) 的一部分时,SDK 才会将页面视为“可信”页面。 chrome:// URI 不是。因此,您需要通过 PageWorker 定义中的 contentScriptFile: [...] 选项使用常规内容脚本。

<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>

永远不要出于安全原因(以及较小程度的性能原因)加载远程脚本!如果您想使用 jQuery,请发送 jQuery 的本地副本。

关于javascript - Firefox Addon 脚本可信页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24859828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com