나는 js를 할 때 직면한 몇 가지 문제를 메모로 기록하기 위해 여기에 글을 쓰고 있습니다. Hax로부터 "비판"을 받을 것이라고는 예상하지 못했지만 결국 이 내용은 고통스럽지 않습니다.
일반적으로 JS에서는 간단한 함수의 이름을 지정하기 위해 함수 리터럴을 사용합니다.
이는 IE나 Mozilla에서도 허용됩니다(ECMA 표준에 함수 리터럴에 대한 정의가 있습니다).
그러나 IE에는 코드를 단순화할 수 있는 또 다른 간단한 이름 지정 방법이 있습니다.
http://blog.never-online.net
이것은 Mozilla에서 구문 오류를 보고하지 않지만 예외를 발생시키고 연산자가 잘못되었습니다.
다음 코드는 Mozilla에서 발생한 예외를 캡처하여 인쇄합니다
http://blog.never-online.net
예외 내용은 다음과 같습니다.
[예외... "WrappedNative 프로토타입 개체에 대한 잘못된 작업" nsresult : "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" 위치: "JS 프레임 :: file:///C:/Documents and Settings/Administrator/Local Settings/Temp/non4A.htm :: :: 22행" 데이터: no]
아직 Mozilla의 config에서 설정할 수 있는지는 모르겠습니다. 간단히 말해서 코드 작성 시 주의하셔야 할 점은
Google에서 getElementById 0x8057000c 키워드로 검색해 봤는데 아직도 많이 나오네요. 예를 들어
http://groups.google.co.uk/group/comp.lang.javascript/browse_thread/thread/65a1a23f5dd7c9ad/d264d04d9d768b28?tvc=2#d264d04d9d768b28
더 나은 해결책은 없지만 해결할 수는 있지만 js가 동적으로 속성과 메소드를 위의 예는 ie와 moz를 모두 통과할 수 있는 테스트입니다.