현재 첫 번째 Firefox 확장 프로그램을 빌드 중이며 한 기능에 약간의 어려움이 있습니다. 툴바에서 버튼 클릭에 대한 응답으로 새 브라우저 탭을 열고 싶습니다. 새 탭에는 웹 페이지의 내용과 몇 가지 추가 버튼이 있어야합니다.툴바 확장 버튼에 대한 응답으로 xul 파일 열기
: 주요 myapptoolbar.xul에서 참조이 XUL 파일이 자바 스크립트를 통해 시작됩니다<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="myapp-report-window"
title="Example 4.5.1"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript"
src="chrome://myapp/content/main.js" />
<toolbox>
<toolbar id="nav-toolbar">
<toolbarbutton label="This-is-going-to-do-some-stuff"/>
</toolbar>
</toolbox>
<iframe id="myapp-report-frame" flex="1"/>
<script type="text/javascript">
function loadPage(url){
document.getElementById('myapp-report-frame').setAttribute('src',url);
}
</script>
</window>
: 나는 새 탭의 내용에 대해 별도의 XUL 파일을 생성 한 순간
gBrowser.selectedTab = gBrowser.addTab('chrome://myapp/content/report.xul');
var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.selectedTab);
newTabBrowser.addEventListener("load",
function(){
loadPage('http://www.somedynamicallysetwebsite.com');
}, true);
내가 가지고있는 문제는 loadPage 함수가 발견되지 않아서 iframe의 src 특성이 설정되지 않는다는 것입니다. 어리석은 범위 지정 문제 일 것이라고 확신하지만 파이어 폭스 확장 (2 일째!)에 익숙하지 않으므로 도움을 받으실 수 있습니다.
죄송합니다. 더 자세히 읽었어야합니다. 이미 페이지에 자바 스크립트를 포함시키는 방법을 알고 있습니다. loadpage 함수를 main.js에 넣은 다음 newtab.xul과 maintoolbar.xul에 모두 include 할 수 있습니다. 미안합니다. 행운을 빕니다! =) – wai