我想在Javascript中獲得一個窗口的XUL文本作爲字符串。我需要它在運行時完成,因爲該窗口動態地添加/刪除UI元素。如何在運行時使用JavaScript從Mozilla附加組件中獲取XUL作爲字符串?
我曾嘗試以下:
document.toXML()
document.xml
document.documentElement.toXML()
等等。沒有用!誰能幫忙?
我想在Javascript中獲得一個窗口的XUL文本作爲字符串。我需要它在運行時完成,因爲該窗口動態地添加/刪除UI元素。如何在運行時使用JavaScript從Mozilla附加組件中獲取XUL作爲字符串?
我曾嘗試以下:
document.toXML()
document.xml
document.documentElement.toXML()
等等。沒有用!誰能幫忙?
您使用XMLSerializer:
new XMLSerializer().serializeToString(document);
這正是我想要的。謝謝! – RossTheBoss 2012-03-23 13:26:01
我不認爲這是一個函數或場得到XUL的文本,但您可以通過從XUL URL讀內容解決
function getContentFromURL(url) {
var Cc = Components.classes;
var Ci = Components.interfaces;
var ioService = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsIIOService);
var scriptableStream = Cc['@mozilla.org/scriptableinputstream;1'].getService(Ci.nsIScriptableInputStream);
var channel = ioService.newChannel(url, null, null);
var input = channel.open();
scriptableStream.init(input);
return scriptableStream.read(input.available());
}
,所以你可以調用getContentFromURL(document.location)至獲得XUL內容
我在引用這個問題:「我需要它在運行時完成,因爲該窗口動態地添加/刪除UI元素。」 – 2012-03-23 07:03:17
我想你不能訪問。 – atilkan 2012-03-22 20:09:36