문제

방금 LightWindow 및 IE7에서 페이지 로드 시 라인 444에 JavaScript 오류가 발생하는 문제를 수신하고 우회했습니다. lightwindow.js, 다음과 같이 주장한다. object does not support this property or method.다양한 포럼에서 다양한 게시물을 찾았음에도 불구하고 Google 검색 결과에 해결책이 없었으므로 나중에 누군가/나 자신에게 도움이 되기를 바라며 여기에 게시합니다.

많은 사람들이 스크립트 파일의 특정 순서를 제안했지만 저는 이미 이 순서(프로토타입, scriptaculous, lightwindow)를 사용하고 있었습니다.

다음은 제가 취한 단계로 마침내 효과가 있었던 것 같습니다. 어떤 단계가 문제를 구체적으로 "수정"했는지 알 수 없고 테스트할 시간도 없기 때문에 여기에 기록으로만 씁니다.

  1. lightwindow.js에 대한 호출을 페이지 하단으로 이동했습니다.
  2. 444행을 다음으로 변경했습니다. if (this._getGalleryInfo(link.rel)) {
  3. 1157행을 다음으로 변경했습니다. if (this._getGalleryInfo(this.element.rel)) {
  4. 마지막으로 1417~1474행을 다음과 같이 묶었습니다(더러워서 죄송합니다). try/catch 블록, 예외를 삼키는 것입니다.

편집하다:

나는 이것이 Firefox를 깨뜨렸다는 것을 깨달았습니다.이제 445행에 다음을 추가하면 작동합니다. try { gallery = this._getGalleryInfo(link.rel); } catch (e) { }

아주 좋은 수정은 아니지만 내 페이지("rel" 태그가 없는 lightwindow 링크, "rel" 태그가 있는 여러 lightwindow 링크, 하나의 "inline" 링크가 포함되어 있음)는 이제 IE7에서 제대로 작동합니다.이 문제에 대해 추가할 내용이나 제공된 솔루션에 대한 문제/개선 사항이 있으면 의견을 말해주세요.

도움이 되었습니까?

해결책

444행을 다음과 같이 변경하여 이 문제를 해결했습니다.

var gallery = this._getGalleryInfo(link.rel)

그런 다음 후속 비교 문을 다음과 같이 변경합니다.

if(gallery.length > 0)
{
    // Rest of code here...

...IE6+에서 정렬하고 Firefox 등에서 계속 작동하는 것 같습니다.

1157행을 전혀 변경하지 않았지만 실제로 수행하는 작업을 확인하기 위해 코드를 읽지 않았으므로 관련성에 대해 언급할 수 없습니까?

나는?예제의 rel 속성(Evoution?[man])에 사용된 속성이 IE에 문제를 일으킬 수 있지만 몇 가지 사항을 테스트하는 데 시간을 들이지 않으면 확신할 수 없습니까?

HTH.

다른 팁

try..catch 대신 아마도 다음을 사용해 볼 수 있습니다.

if( this && this._getGalleryInfo )
{
    //use the function

}

같은 방법으로 확인할 수도 있습니다 this.element.rel ( if(this && this.element && this.element.rel) ...) 사용하기 전에.

그런 경우도 있는 것 같더라구요 _getGalleryInfo 또는 this.element.rel 아직 초기화되지 않았으므로 아직 존재하지 않습니다.그것이 존재하는지 확인한 다음 그것을 사용하는지 확인하십시오.

물론 제가 완전히 틀렸을 수도 있습니다. 알 수 있는 유일한 방법은 테스트해 보는 것입니다.

Lightwindow 2.0, IE6, IE7, IE8(베타)에서도 동일한 문제가 발생했습니다.IE6, IE7, IE8(베타)에 대해서는 다음과 같은 방법으로 해결했습니다.

대신에:
 if(gallery = this._getGalleryInfo(link.rel))
나는 443행과 1157행을 넣었습니다:
 gallery = this._getGalleryInfo(link.rel)
 if(gallery)

이것이 도움이 되기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top