2013-08-20 3 views
0

IE7에서 일부 셰이프를 그리려하고 JavaScript로 완전히 처리하려고합니다. 처음에 나는이IE7에서 VML 동작을 동적으로 등록하십시오.

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

같은 V 네임 스페이스를 등록하고 나는 그것이 올바르게 추가 된 것을 볼 수 있습니다. 그리고이 같은 요소에 대한 스타일 요소를 추가하고 VML 동작을 넣어보십시오

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

내가 IE6과 IE7에서 두 번째 줄에서 Unknown runtime error를 얻을. 문제는 무엇이 될 수 있습니까? innerHTML이 지원되지 않습니까? 이 일을하는 또 다른 트릭이 있습니까?

답변

0

당신이 위의 코드는 IE 7 &에서 작동 아래의 코드

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

를 사용하여 VML을위한 스타일 시트를 만들 수 있습니다,하지만 난 6

IE에서 테스트하지 않았습니다