1

我正在使用 Erik Vold 的工具栏按钮。我有一个固定在上面的面板。在面板中呈现的 html 静态页面上单击其中一个链接时,我需要在同一面板中显示其他内容。

我正在尝试使用端口 API 在插件代码和 html 静态页面之间传递消息。在监听某个事件时,我想更改面板的 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() 可以很好地调整面板的大小。是否有类似的方法来更改面板的 contentURL?

4

1 回答 1

0

该代码应该可以工作,您在面板模块中发现了一个错误。耶!

我为您提交了错误 795490,并且有一个包含修复的拉取请求,可能需要一些时间才能登陆,但修复应该会到来。

于 2012-10-01T17:28:08.843 回答