-1

我使用 Google CDN 在我的网站中包含 jQuery:

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

一切都按预期工作,但是当我尝试使用任何在线网络代理(例如Zend2Proxify )访问它时,无法加载 jQuery。根据包含的 jQuery 版本和使用的 Web 代理,当浏览器尝试解析 jquery.min(var 未定义等)时,我们会在浏览器控制台中收到各种错误消息。

所有使用 jQuery 的网站,包括 jQuery 的网站本身,都有同样的问题。例如,尝试通过 Web 代理使用 jQuery UI 演示站点:无法使用 jQuery UI 小部件,请在 Web 控制台中查看所有错误消息。

我尝试了几十个代理,我只发现一个能够奇迹般地解析 jQuery。

为什么 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 不完全兼容。

可能适合您提出此问题的地方是他的网站。这不是真正适合 SO 的编程问题。

于 2012-10-06T10:07:04.613 回答