我正在尝试将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检查中:
答案 0 :(得分:0)
如上面的评论中所述,问题是<browser>
元素不会呈现其内容,类似于<iframe>
。
您可以选择让框内容滚动内容 a)在滚动事件上通过javascript重新定位你的盒子 b)构建与你的盒子相当的HTML并直接将其注入到内容中。如果页面内容不受信任,则必须考虑帐户中的安全问题,因为它可能会操纵您的插件使用的DOM。