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 error在 IE6 和 IE7 的第二行得到一个。问题可能是什么?不支持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 回答