2012-10-06 3 views
-1

내가 구글 CDN 내 사이트에 jQuery를 포함하는 온라인 웹 프록시를 통해 jQuery를 프레임 워크를 사용할 수 :우리는

예상대로
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script> 

모든 작품,하지만 난 온라인 모든 웹 프록시에 액세스하려고 같은 Zend2 또는 Proxify이면 jQuery를로드 할 수 없습니다. 어떤 jQuery 버전이 포함되고 웹 프록시가 사용되었는지에 따라 브라우저가 jquery.min (var가 정의되지 않은 등)을 구문 분석하려고 할 때 브라우저 콘솔에 다양한 오류 메시지가 표시됩니다.

jQuery 사이트 자체를 포함하여 jQuery를 사용하는 모든 사이트에서도 동일한 문제가 있습니다. 예를 들어 웹 프록시를 통해 jQuery UI 데모 사이트를 사용해보십시오. jQuery UI 위젯을 사용할 수 없으며 웹 콘솔의 모든 오류 메시지를 참조하십시오.

나는 수십 개의 프록시를 시도했지만, 기적적으로 jQuery를 구문 분석 할 수있는 프록시를 찾았습니다.

jQuery가 대부분의 웹 프록시에서 작동하지 않는 이유는 무엇입니까? 해결 방법이 있습니까? 감사!

답변

0

두 프록시는 기본적으로 스크립트를 제거합니다. 스크립트를 제외하고는 jquery.min.js에 아무것도 없습니다. 프록시를 사용하기 전에 "스크립트 제거"옵션을 해제하십시오.

프록시가 있거나없는 jquery.js (비공식)를 다운로드하여 diff'ed. 그것은 코드를 많이 변경합니다. 그들 중 일부는 내가 어떤 영향을한다고 생각하지 않습니다 단지 구문을 변경하지만, 많은이 같이있다 :

location = window.location, 

가된다 :

location = _proxy_jslib_handle(window, 'location', '', 0, 0), 

그들은 모두 내장 다양한 대체 _proxy_jslib_XXX 기능을 포함 자바 스크립트 메커니즘. 나는 이것을 봤고 대부분의 프록시 사이트에서 사용되는 스크립트 인 CGIProxy에서 발견되었다. 아마도 jquery와 완전히 호환되지 않을 수도 있습니다.

아마 여기 올릴만한 곳은 web site입니다. 그것은 SO에 적절한 프로그래밍 문제가 아닙니다.

+0

감사합니다. Barmar,하지만 분명히 30 개 이상의 웹 프록시에서 "스크립트 제거"옵션을 해제했지만 작동하지 않습니다. jquery 웹 사이트에서 쉽게이 기능을 사용할 수 있습니다. 게다가 jquery.min은 제거되지 않은 프록시를 통해 포함되지만 알려지지 않은 이유 때문에 파싱 할 수 없습니다. – Dominique

+0

Barmar에게이 업데이트를 해주셔서 감사합니다.이 프록시는 자바 스크립트 라이브러리도 "프록시 화"해야한다는 것을 인식하지 못했고 이러한 종류의 변경 사항을 즉시 적용해야했습니다. 이 문제를 CGIProxy 개발자에게 보냈습니다. – Dominique