0

私は IE7 でいくつかの図形を描画しようとしていますが、JavaScript で完全に描画しようとしています。最初に、このようにv名前空間を登録します

document.getElementsByTagName('html')[0].setAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml');

正しく追加されていることがわかります。次に、スタイル要素を追加して、要素のVML動作を次のように設定します。

var vstyle = document.createElement('style');
vstyle.innerHTML = 'v\:* {behavior: url(#default#VML);}}';  // Unknown runtime error
document.getElementsByTagName('head')[0].appendChild(vstyle);

Unknown runtime errorIE6 と IE7 では 2 行目に が表示されます。問題は何でしょうか?innerHTML はサポートされていませんか? これを行う別のトリックはありますか?

4

1 に答える 1

0

以下のコードを使用して、VML のスタイル シートを作成できます。

document.namespaces.add("v","urn:schemas-microsoft-com:vml");
var style = document.createStyleSheet();
style.addRule('v\\:*', "behavior: url(#default#VML);");

このコードは IE 7 以降で動作しますが、IE 6 ではテストしていません。

于 2013-08-22T10:13:01.887 に答える