추가 기능에 chrome : // URI를 사용하려고하는데 신뢰할 수있는 스크립트 방법을 사용하여 페이지 작업자를 사용하고 싶습니다. URI를 하드 코딩 할 때 작동합니다 (chrome://<package name>/<part>/<file>
). 그러나, self.data.url ('filename')을 사용할 때 작동합니다. 추가 기능의 ID로 이메일 스타일 대신 GUID를 사용하고 resource : // URI를 사용하지 않으므로 chrome : // URI를 사용하고 싶습니다.Firefox Addon Scripting 신뢰할 수있는 페이지 컨텐츠
내용 스크립트
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 파일?
** ** 애드온 코드에 원격 스크립트를로드하지 마십시오! – nmaier
질문의 나머지 부분은 무엇입니까? 귀하의 문제는 정확히 무엇입니까? 작동하지 않는 것은 무엇입니까? 시도 할 때 오류가 무엇입니까? – nmaier
질문 : chrome : // URI를 사용하고 있기 때문에 HTML 파일에서 직접 호출되는 콘텐츠 스크립트에서 addon.port.emit()을 사용할 수 있도록 어떻게 할 수 있습니까? 리소스를 사용하고 싶지 않기 때문에 self.data.url ('htmlFile')을 사용해야합니다. // pageckage-GUID-at-jetpack/path/to/file page-mods를 사용할 수는 있지만 HTML 파일 내에서 스크립트 파일을 호출하지 않는다는 것을 의미합니다. –