阅读:4882回复:2
XUL中如何插入一段HTML内容
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); 高手们,请帮帮忙,谢谢了 |
|
1楼#
发布于:2008-08-15 22:01
我按照你的方法写了一个文件: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就是一种不规范的方法,引起错误尤其是解析错误是难免的 |
|
2楼#
发布于:2008-08-15 22:01
谢谢楼上的,我不这样写,换了个其他写法,XUL方面的资料也太少了,除了MDC就没其他的了
|
|