我们可以通过在线Web代理使用jQuery框架吗?

时间:2012-10-06 10:00:17

标签: jquery proxy include webproxy

我在我的网站中使用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不适用于大多数这些网络代理?有没有解决方法?谢谢!

1 个答案:

答案 0 :(得分:0)

默认情况下,这些代理都会删除脚本。除了脚本之外,jquery.min.js中没有任何内容。在使用代理之前,请确保关闭“删除脚本”选项。

我使用和不使用代理下载了jquery.js(非缩小版),并对它们进行了差异化处理。它对代码进行了大量更改。其中一些只是语法上的变化,我认为不应该有任何影响,但有很多这样的:

location = window.location,

变为:

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

它们都涉及替换各种内置Javascript机制的_proxy_jslib_XXX函数。我用Google搜索了它,发现它来自CGIProxy,这是大多数代理网站使用的脚本。也许它所做的改变与jquery不完全兼容。

你提出这个问题的正确位置可能就是他web site。这不是一个适合SO的编程问题。