将xul元素插入浏览器,以便随之滚动

时间:2014-11-18 21:32:43

标签: firefox-addon xul

我正在尝试将xul元素插入到gBrowser.selectedBrowser元素中,以便此xul元素与文档节点一起滚动。

我使用此代码创建并添加了一个框:

var win = Services.wm.getMostRecentWindow('navigator:browser');
var panel = win.document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul','box');
var props = {
    style: 'width:300px;height:100px;background-color:red;'
}
for (var p in props) {
    panel.setAttribute(p, props[p]);
}

gBrowser.selectedBrowser.appendChild(panel);

问题是盒子在任何地方都看不到。虽然这是在dom检查中:

1 个答案:

答案 0 :(得分:0)

如上面的评论中所述,问题是<browser>元素不会呈现其内容,类似于<iframe>

您可以选择让框内容滚动内容 a)在滚动事件上通过javascript重新定位你的盒子 b)构建与你的盒子相当的HTML并直接将其注入到内容中。如果页面内容不受信任,则必须考虑帐户中的安全问题,因为它可能会操纵您的插件使用的DOM。