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"descriptionlabel;/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:trhtml: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:trhtml:tdok/html:tdhtml:tdok/html:td/html:tr
/html:table
/hbox
/vbox
statusbar pack="left"
statusbarpanel flex="1" pack="left"descriptionlabel;/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
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)行:0
4 错误: Onload is not defined
源文件:file:///C:/Documents%20and%20Settings/gh/%E6%A1%8C%E9%9D%A2/test.xul
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)行:1
3个错误都是预期的,至于警告我不知道为什么会出现,但是不影响显示。
你的语法是正确的,可能是其他地方有毛病。
另外你没有说清自己的问题,你到底是想做什么?如何插入HTML代码还是DOMParser 为何会报错?如果不影响使用的话不要过分在意解析错误,本来混合使用html和xul就是一种不规范的方法,引起错误尤其是解析错误是难免的