DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XUL中如何插入一段HTML內容
XUL中如何插入一段HTML內容
編輯:XML詳解     

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就是一種不規范的方法,引起錯誤尤其是解析錯誤是難免的



XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved