欢迎来到山村网

XUL中如何插入一段HTML内容

2019-03-28 23:38:19浏览:604 来源:山村网   
核心摘要: XUL内容如下?xml version=1.0??xml-stylesheet href=chrome://global/skin/ type=text/css??xml-stylesheet href=chrome://Eas

 XUL内容如下

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://EasyEffective/content/styles/global.css" type="text/css"?>
<window
id="Test"
title="Test"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
onload="onload()"
persist="screenX screenY width height sizemode">
<script src="chrome://Test/content/scripts/Test.js" type="application/x-javascript"/>
<vbox flex="1">
<hbox id="aContainer"></hbox>
</vbox>
<statusbar pack="left">
<statusbarpanel flex="1" pack="left"><description>label;</description></statusbarpanel>
<statusbarpanel id="page-report-button" blocked="true"/>
</statusbar>
</window>

  我想要在<hbox id="aContainer"></hbox>内插入一段HTML的代码,代码如下:

  <html:a href="http://mozilla.org">Mozilla.org</html:a>
<html:table>
<html:tr><html:td></html:td></html:tr>
......
......
more content
......
</html:table>

  我怎么把这段代码插入到上面那个hbox里面?

  我用 DOMParser 处理的时候,界面上提示解析错误

  var dp = new DOMParser();
var newDOM = dp.parseFromString(htmlContent, "text/xml");
//this step has Errors
//the Error like this "XML Parsing Error:prefix not bound to namespace..."
document.getElementById('aContainer').appendChild(newDOM.documentElement);

  高手们,请帮帮忙,谢谢了

  我按照你的方法写了一个文件:test.xul

  代码如下:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://EasyEffective/content/styles/global.css" type="text/css"?>
<window
id="Test"
title="Test"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
onload="onload()"
persist="screenX screenY width height sizemode">
<script src="chrome://Test/content/scripts/Test.js" type="application/x-javascript"/>
<vbox flex="1">
<hbox id="aContainer">
<html:a href="http://mozilla.org">Mozilla.org</html:a>
<html:table>
<html:tr><html:td>ok</html:td><html:td>ok</html:td></html:tr>
</html:table>
</hbox>
</vbox>
<statusbar pack="left">
<statusbarpanel flex="1" pack="left"><description>label;</description></statusbarpanel>
<statusbarpanel id="page-report-button" blocked="true"/>
</statusbar>
</window>
然后用FF3.5beta进行显示,显示正常,打开错误控制台有3条错误1条警告


1 No chrome package registered for chrome://easyeffective/content/styles/global.css

  2 No chrome package registered for chrome://test/content/scripts/Test.js

  3 警告: hbox 元素的 XUL 块包含了一个内联 a 子节点, 导致其所有子节点均被包含在一个块中。

  源文件:file:///C:/documents%20and%20Settings/gh/%E6%A1%8C%E9%9D%A2/test.xul

  行:0

  4 错误: onload is not defined

  源文件:file:///C:/documents%20and%20Settings/gh/%E6%A1%8C%E9%9D%A2/test.xul

  行:1

  3个错误都是预期的,至于警告我不知道为什么会出现,但是不影响显示。

  你的语法是正确的,可能是其他地方有毛病。

  另外你没有说清自己的问题,你到底是想做什么?如何插入HTML代码还是DOMParser 为何会报错?如果不影响使用的话不要过分在意解析错误,本来混合使用html和xul就是一种不规范的方法,引起错误尤其是解析错误是难免的

(责任编辑:豆豆)
下一篇:

HTML 4.0 语法序列标签

上一篇:

供初学者使用的 wxHTML

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com