<!DOCTYPE HTML>
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v" />
<html>
<head>
<style>
v\:shape{behavior: url(#default#VML);}
v\:formulas{behavior: url(#default#VML);}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
var shape = document.createElement('v:shape');
document.body.appendChild(shape);
var formulas = document.createElement('v:formulas');
formulas.className = 'c';
shape.appendChild(formulas);
shape.coordsize = "500,500";
shape.style.position = 'absolute';
shape.className = 'c';
shape.fillcolor="red";
shape.style.width = '500px';
shape.style.height = '500px';
shape.path = "m 100,100 l 200,300 300,400 200,100 x e ns";
//shape.setAttribute('path',path);
</script>
</body>
</html>
IE 8 css свойство вида: v\:* не понимает, нужно указывать явно названия элементов.
задавать path через .setAttribute в ИЕ не надо. Он так работать не будет, нужно обращаться на прямую shape.path
ну и как видишь namespace нужно указывать в xml теге а не в html
что бы не прописывать XML тег и не писать стили, это можно сделать через javascript
:
try {
if (!document.namespaces.v) {
document.namespaces.add("v", "urn:schemas-microsoft-com:vml");
}
} catch (e) {}
document.v_shape_stylesheet = document.createStyleSheet();
document.v_shape_stylesheet.addRule("v\\:shape", "behavior: url(#default#VML);");
document.v_shape_stylesheet.addRule("v\\:formulas", "behavior: url(#default#VML);");
Удачи!