Така че се опитвам да използвам chrome:// URI в моята добавка и искам да използвам page-worker върху него, използвайки метода за надеждно съдържание за скриптове, но изглежда, че не работи, когато кодирам 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="/bgcss/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="/bgcss/settings.css" rel="stylesheet" type="text/css">
<link href="/bgcss/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);
}
});
Знам, че мога да използвам page-mod и да прикача скриптовете към него с това, но предпочитам да извикам скриптовете от файла и да мога да комуникирам с основния код на добавката. И така, има ли начин да мога да си взема тортата и да я изям също - използвайки твърдо кодирания chrome:// URI във връзка с извикване на скриптовете от HTML файла, като същевременно мога да накарам тези скриптове да комуникират обратно към главния. js файл?