2012-01-12 3 views
0

내 페이지 http://www.dynamicdrive.com/dynamicindex4/imagemagnify.htm에서 동적 드라이브 Jquery 이미지 돋보기를 사용하고 있습니다.Jquery는 * 동일한 * 코드를 사용하여 하나의 도메인에서만 작동합니다.

페이지가 두 개의 별도 도메인에로드되었습니다. HTML은 동일하며 모든 링크 (css/js/images)는 테스트 서버의 전체 http 문자열입니다. 페이지가로드 완벽하게 하나 개의 도메인에, 그러나

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://slim.bobpitch.com/DS/js/jquery.magnifier.js"> 

하지만, JQuery와는 다른 도메인 JQuery와 작품에 작동하지 않지만, 페이지 포맷이 손상되었습니다 : 헤더는 다음과 같습니다. 내가 첫 페이지에 받고 있어요 오류 : 스크립트의이 조각을 의미

Uncaught TypeError: Cannot call method 'magnify' of undefined 

: 나는 완전히 당황하고 만 열광 CSS의 땜장이하고

jQuery.fn.imageMagnify=function(options){ 
var $=jQuery 
return this.each(function(){ //return jQuery obj 
    var $imgref=$(this) 
    if (this.tagName!="IMG") 
     return true //skip to next matched element 
    if (parseInt($imgref.css('width'))>0 && parseInt($imgref.css('height'))>0 || options.thumbdimensions){ //if image has explicit width/height attrs defined 
     jQuery.imageMagnify.magnify($, $imgref, options) 
    } 
    else if (this.complete){ //account for IE not firing image.onload 
     jQuery.imageMagnify.magnify($, $imgref, options) 
    } 
    else{ 
     $(this).bind('load', function(){ 
      jQuery.imageMagnify.magnify($, $imgref, options) 
     }) 
    } 
}) 

, 내가 무엇에 대해 알고 자바 자바 스크립트는 아주 작은 것의 뒷면에 쓸 수 있습니다. 왜 다른 도메인이 아닌 하나의 도메인에서만 작동합니까?

+0

두 번째 스크립트 인클루드의 끝에 ''이 없습니다. 그저 복사 및 붙여 넣기 오류입니까? –

+0

캐시 문제 일 수 있습니다. 캐시를 지우고 두 페이지를 다시 시도하십시오. –

+0

* "... 자바에 관해서 내가 아는 것은 아주 작은 것의 뒷면에 쓰여질 수있다 ..."* LOL, 자바가 아니라 * JavaScript *라는 사실을 포함하여 (매우 다른 언어 임). :-) 나는 당신을 위해 태그를 수정하고 그 부분을 편집했다. –

답변

2

두 컴퓨터에서 인터넷 사용 여부를 확인하십시오. 두 컴퓨터에서 http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js에 액세스 할 수 있습니까? 이 오류의 원인은 magnify을 호출하려고하면 jQuery가로드되지 않습니다. 그래서 당신은 jQuery없이 플러그인을 호출 할 수 없습니다. 당신이 초기화됩니다 플러그인 후 jQuery를 등록 할 경우 또는 모든 플러그인은

+0

그것을 못 박았 고 해결책을 찾았습니다 - 포인터를 가져 주셔서 감사합니다. 문제는 내가 페이지 맨 아래에 스크립트로드가있는 HTML5 상용구를 사용하고 있었고, 맨 위에 충돌 스크립트가 포함되어있었습니다. http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js에 대한 충돌 링크를 삭제했으며 두 사이트에서 모두 잘 작동합니다. 그래서 확실한 wetware 오류 –

+0

그래서 upvote 또는 동의?: P –

+1

나는 upvote에 대한 명성이 없다 - "도움이 되었습니까?"질문에 '예'를 클릭했습니다. - 나쁜 매너를 보여 주면 죄송합니다. 다만 멍청한 놈입니다. –

0

내가 오류가) (확대 호출에 있다는 사실은 돋보기 달리

<script type="text/javascript" src="http://slim.bobpitch.com/DS/js/jquery.magnifier.js"> 

로드 문제가 있다는 것을 의미 있다고 생각 이미로드 jQuery가 함수가 아니므로 오류가 발생하므로 도메인에서 해당 파일을로드하는 데 문제가 없음을 확인하십시오 (스크립트가 올바르게로드 된 경우 파일을 체크 인하십시오)

0

응용 프로그램이 다른 버전을 참조하는지 확인하십시오 jquery 파일 중

관련 문제