11

svg タグのあるページがあります。このページには「プレビュー」というボタンがあり、クリックすると画像 (svg) を含む新しいウィンドウが開きます。

以下は、Chrome/Firefox では機能するが IE では機能しないコードの一部です (私は IE 9-IE9 標準モードを使用しています)。

var w = window.open();
var svg = $('#chart');              
var svgPrint = svg.cloneNode(true);
svgPrint.setAttribute('xmlns','http://www.w3.org/2000/svg');
w.document.body.appendChild(svgPrint);

どんな提案でも大歓迎です。

ありがとう。

4

2 に答える 2

14

IE は、要素が追加されているウィンドウ コンテキストとは異なるウィンドウ コンテキストで作成された要素の追加をブロックします。

var childWindow = window.open('somepage.html');

//will throw the exception in IE
childWindow.document.body.appendChild(document.createElement('div'));

//will not throw exception in IE
childWindow.document.body.appendChild(childWindow.document.createElement('div'));
于 2013-06-10T07:00:51.477 に答える