0

現在、次のコードを使用して、DOM の一部から XML コードを表示しています。

var sXML = new XMLSerializer().serializeToString(document.getElementsByTagName("TopElementOfBlockOfInterest")[0]);
var win;
var doc;
win = window.open("", "", "",false);
doc = win.document;
doc.open("text/plain");
doc.write(sXML);
doc.close();

私が見ているのは XML コードです。しかし、Firefox 20.0 で [名前を付けて保存] を選択すると、保存されるのは html ファイルです。ユーザーが XML コードをファイルに保存する形式で XML 文字列を表示する方法はありますか? 現在のように、ユーザーはコピーして貼り付けることができますが、私はより従来の保存操作を好みます。

4

1 に答える 1

1

それをデータURIに変換してから開きます

var uri = new XMLSerializer().serializeToString( // serialise
        document.getElementsByTagName("TopElementOfBlockOfInterest")[0]
    ),
    win;
uri = 'data:text/plain,' + window.encodeURIComponent(uri); // to data URI
win = window.open(uri, '_blank'); // open new window

SaveAsはデフォルトで になります.txtMIME を使用しtext/xmlたりapplication/xml、実際にXMLコンテンツを表示したりすることもできますが、ブラウザーで表示すると、プレーン テキストとして表示されるのではなくレンダリングされる場合があります。

于 2013-04-26T15:32:39.287 に答える