-1

Google CDN を使用して自分のサイトに jQuery を含めます。

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

すべてが期待どおりに機能しますが、 Zend2Proxifyなどの Web プロキシをオンラインで使用してアクセスしようとすると、jQuery をロードできません。含まれている jQuery のバージョンと使用されている Web プロキシに応じて、ブラウザーが jquery.min を解析しようとすると (var が未定義であるなど)、ブラウザー コンソールにさまざまなエラー メッセージが表示されます。

jQuery のサイト自体を含め、jQuery を使用するすべてのサイトには同じ問題があります。たとえば、Web プロキシ経由で jQuery UI デモ サイトを使用してみてください。jQuery UI ウィジェットは使用できません。Web コンソールですべてのエラー メッセージを参照してください。

何十ものプロキシを試しましたが、奇跡的にjQueryを解析できるプロキシは1つしか見つかりませんでした.

jQuery がこれらの Web プロキシのほとんどで動作しないのはなぜですか? 回避策はありますか?ありがとう!

4

1 に答える 1

0

これらのプロキシは両方とも、デフォルトでスクリプトを削除します。スクリプト以外の jquery.min.js には何もありません。プロキシを使用する前に、[スクリプトの削除] オプションを必ずオフにしてください。

プロキシの有無にかかわらず jquery.js (縮小されていない) をダウンロードし、それらを比較しました。コードに多くの変更を加えます。それらのいくつかは、影響を与えるべきではないと私が思う単なる構文上の変更ですが、次のようなものがたくさんあります。

location = window.location,

になります:

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

それらはすべて、さまざまな組み込み Javascript メカニズムを置き換える _proxy_jslib_XXX 関数を含みます。これをグーグル検索したところ、ほとんどのプロキシ サイトで使用されているスクリプトである CGIProxy からのものであることがわかりました。おそらく、それが行う変更は jquery と完全には互換性がありません。

これを提起するのにおそらく適切な場所は、彼のWeb サイトです。SOに適したプログラミングの問題ではありません。

于 2012-10-06T10:07:04.613 に答える