이상한 메시지입니다. 내가 동적으로 자바 스크립트에서 만든 VML 개체의 컬렉션을했습니다. 내가 테스트하는 데 사용하는 시스템은 Windows XP (SP3)의 IE6입니다.VML이 마우스를 눌렀을 때 오류 발생 - '실패'
콜렉션에서 마우스를 아래로 누르면 "Failed"오류가 발생합니다. 정말 이상한 점은 VML을 한동안 사용 해왔다는 것입니다. 지난 주에이 오류가 발생하지 않았다고 맹세합니다.
어쨌든 여기에 오류를 보여주는 데모 링크가 있습니다.
http://www.codequark.com/vml-demo
오류는 다음과 같습니다
라인 : 25 문자 : 5 오류 : 실패 코드 : 0
사랑스러운. 나는 IE6를 사용하고 있지만, 7 또는 여기
8. 내가 찾을 수 있었어요이 오류에 가까운 무엇이든 할 수있는 유일한 참조입니다 무슨 일이 일어나고 있는지 알고 도움이 될 것입니다 :
원한다면 여기에 소스 코드가 있습니다. 그것을로드하고 원하는 야만적 인 IE 브라우저에서 볼 수 있습니다.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript" charset="utf-8">
//the stage element.
var stage;
//create a group with a single square shape.
function makeAScaledRotatedGroup(sclX, sclY, rot, clr) {
var xCoord = 200;
var yCoord = 200;
var regX = 100;
var regY = 100;
var origX = -10/sclX + regX;
var origY = -10/sclY + regY;
var _x = xCoord - 10;
var _y = yCoord - 10;
var grp = document.createElement('<v:group style="position:absolute; left:'+_x+'px; top:'+_y+'px; width:20px; height:20px; rotation:'+rot+';" coordsize="'+20/sclX+' '+20/sclY+'" coordorigin="'+origX+' '+origY+'" class="rvml">');
var shp1 = document.createElement('<v:shape fillcolor="'+clr+'" strokecolor="red" strokeweight="2px" coordorigin="0 0" coordsize="20 20" style="position:absolute; top:0px;left:0px;width:20px;height:20px;" class="rvml">');
var pth1 = document.createElement('<v:path v="M 0 0 L 200 0 200 200 0 200 X E" class="rvml">');
shp1.appendChild(pth1);
grp.appendChild(shp1);
stage.appendChild(grp);
return grp;
}
//array to store references to all the dom nodes.
var allRects = [];
//kick it off. mon calamari cruisers beware.
function operationalBattleStation() {
document.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)");
document.namespaces.add("v", "urn:schemas-microsoft-com:vml");
stage = document.createElement('div');
stage.style.position = 'absolute';
stage.style.top = '0px';
stage.style.left = '0px';
stage.style.width = '500px';
stage.style.height = '500px';
stage.style.clip = "rect(0px,500px,500px,0px)";
document.body.appendChild(stage);
var clrs = ['#0066CC', '#990000','#FF0033','#0699CC','#00FF00','#0000FF','#FF0000','#33FF00','#333300', '#990000','#FF0033','#0699CC','#00FF00','#0000FF','#FF0000','#33FF00','#333300'];
var rot =0;
var scl = 1;
for(var h=0; h<clrs.length; h++) {
allRects.push(makeAScaledRotatedGroup(scl, scl, rot, clrs[h]));
rot+=10;
scl = scl*0.7;
}
};
</script></head><body onload="operationalBattleStation();"></body></html>
어떤 도움
에 감사드립니다. 감사!