저는 Erik Vold의 툴바 버튼을 사용하고 있습니다. 나는 그것에 고정 된 패널을 가지고있다. 패널에 렌더링 된 html 정적 페이지에서 링크 중 하나를 클릭하면 같은 패널에 다른 것을 표시해야합니다.패널에서 렌더링 된 현재 페이지의 작업을 기반으로 패널의 contentURL 변경
addon-code와 html 정적 페이지 사이에서 전달되는 메시지에 포트 API를 사용하려고합니다. 특정 이벤트를 듣고, 나는 패널의 contentURL 필드를 변경하려면 :
var myScript = "window.addEventListener('click', function(event) {" +
" var t = event.target;" +
" if (t.nodeName == 'A')" +
" self.port.emit('click-link', t.id);" +
"}, false);"
var mainPanel = require("panel").Panel({
width: 200,
height: 200,
contentURL: require("self").data.url("appList.html"),
contentScript: myScript
});
mainPanel.port.on("click-link", function(appName) {
if(appName=='app1'){
//mainPanel.resize(700,500); --works
mainPanel.contentURL="http://www.some-server/app1.html"; --fails
}
if(appName=='app2')
...
});
mainPanel.resize() 패널의 크기를 조절 잘 동작합니다. Panel에 대해 contentURL을 변경하는 비슷한 방법이 있습니까?
href 속성을 사용하면 올바른 페이지로 리디렉션됩니다. –
SDK 코드를 살펴보면'panel.contentURL'을 변경하는 것이 효과가 있습니다. 그렇지 않다면 아마 SDK 버그를 발견했을 것입니다. –
@WladimirPalant 문서에 언급 된 예제는 두 개의 다른 위젯에서 언급 한 예입니다. contentURL 속성을 직접 설정하고 있습니다 (위젯이나 toolbarbutton이 아닌). 문제가 될 수 있습니까? – user043