메시지: 개체가 필요합니다. 줄 : 53
IE에서 flash가 포함된 페이지를 빠져나가려고 하면 가끔 이런 JScript 오류 메시지가 뜨곤합니다.

메시지: 개체가 필요합니다.
줄: 53
문자: 3
코드: 0

만약 다른 웹페이지에서 저런 걸 봤다면 "으이그~" 라고 했을텐데.. 제가 만든 웹페이지가 저 모냥이라 넘어갈 수가 없더군요.
그래서 찾아봤는데 한글로는 답이 없습니다.
한글로 된 문서들에는 네이버 로그인할 때 저렇다는 질문과 완전 엉뚱한 대답뿐..
그래서 짧은 영어로 주섬주섬... 찾았습니다.

Javascript error with embed

해결책은 embed만 사용하면 안되고, embed를 object로 감싼 후 object에 id속성을 주어야 한다는 것입니다.
혹시 저처럼 이것 때문에 패닉에 빠질뻔한 분들은 도움이 되시길...


덧> 실제로 에러가 나는 부분인데.. 이게 뭔지 아시는 분 있나요? 있으시면 가르침 좀 주십쇼 :)

function __flash__arrayToXML(obj) {
 var s = "<array>";
 for (var i=0; i<obj.length; i++) {
  s += "<property id=\"" + i + "\">" + __flash__toXML(obj[i]) + "</property>";
 }
 return s+"</array>";
}
function __flash__argumentsToXML(obj,index) {
 var s = "<arguments>";
 for (var i=index; i<obj.length; i++) {
  s += __flash__toXML(obj[i]);
 }
 return s+"</arguments>";
}
function __flash__objectToXML(obj) {
 var s = "<object>";
 for (var prop in obj) {
  s += "<property id=\"" + prop + "\">" + __flash__toXML(obj[prop]) + "</property>";
 }
 return s+"</object>";
}
function __flash__escapeXML(s) {
 return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
}
function __flash__toXML(value) {
   var type = typeof(value);
 if (type == "string") {
  return "<string>" + __flash__escapeXML(value) + "</string>";
 } else if (type == "undefined") {
        return "<undefined/>";
 } else if (type == "number") {
        return "<number>" + value + "</number>";
 } else if (value == null) {
        return "<null/>";
 } else if (type == "boolean") {
        return value ? "<true/>" : "<false/>";
 } else if (value instanceof Date) {
        return "<date>" + value.getTime() + "</date>";
   } else if (value instanceof Array) {
       return __flash__arrayToXML(value);
   } else if (type == "object") {
       return __flash__objectToXML(value);
   } else {
     return "<null/>"; //???
 }
}
function __flash__addCallback(instance, name) {
  instance[name] = function () {
    return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
  }
}
function __flash__removeCallback(instance, name) {
  instance[name] = null; // 여기
}

댓글
  • 프로필사진 hana☆ 엇 나 저런적 많ㅇ ㅏ~ㅎ 실제로 봐본적도 있고, 근데...오빠도 잘 모르니 내가 몰랐던 것은 당연한 건가?
    음냥
    2009.11.21 12:34
  • 프로필사진 Joo 그렇군... 본적이 많구나.. 음... 저건 왜 고쳐지지가 않는거지? ㅎㅎ 2009.11.21 15:18 신고
  • 프로필사진 엄마만원만 아~ 이것 에러때문에 오늘 하루 종일 헤맸는데, 덕분에 해결했네요.
    고맙습니다~ 좋은 하루 되세요~
    2010.03.02 22:34
  • 프로필사진 Joo 왜 그렇게 되는건지는 아직도 모르지만.. ^^ 도움이 되셨다니 다행이네요. 2010.03.18 14:31 신고
  • 프로필사진 엄마만원만 제 경우는
    object로 둘러치는 방식으로 티스토리 블로그에 영상을 심을 때, 블로그내 다른 링크로 빠져나가면 ie에서만 화면 왼쪽 하단에 에러메세지가 조그맣고 노랗게 표시가 되더라구요. 그럴 때 object 옆에 id 지정해주니 그 에러메세지가 사라지더군요~ ^^
    2010.03.18 19:32
  • 프로필사진 TTF로이양 저도 저렇게 오류가 나던데 해결 방법을 봐도 모르겠어요..(전 초딩인데 이해하면 천재인거)ㅜㅜ흑흑 이럴수가... 2011.02.26 12:57
  • 프로필사진 Dedo 감사의 마음을 전합니다.
    해결은 못했지만, 원인은 제대로 알았습니다.
    오브젝트 속성을 제대로 알아봐야겠습니다.
    그냥 id 주는 식으로는 해결안됐습니다.

    좋은 정보 감사합니다.
    2011.05.21 18:06
댓글쓰기 폼
«   2020/11   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30