我用Google CDN在我的网站中包含jQuery:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
一切都按预期工作,但是当我尝试使用任何在线网络代理(例如 Zend2 或代理,则无法加载 jQuery。根据包含的jQuery版本和使用的Web代理,当浏览器尝试解析jquery.min(var未定义等)时,我们会在浏览器控制台中收到各种错误消息。
所有使用jQuery的网站,包括jQuery的网站本身,都有同样的问题。例如,尝试通过 Web 代理使用 jQuery UI 演示站点:无法使用 jQuery UI 小部件,请在 Web 控制台中查看所有错误消息。
我尝试了几十个代理,我只发现一个能够奇迹般地解析jQuery。
为什么jQuery不适用于大多数这些Web代理?有什么解决方法吗?谢谢!
默认情况下,这两个代理都会删除脚本。jquery.min中没有任何内容.js除了脚本。确保在使用代理之前关闭"删除脚本"选项。
我下载了带有和不带代理的jquery.js(非缩小),并对其进行了差异。它对代码进行了大量更改。其中一些只是语法变化,我认为不应该有任何影响,但有很多这样的:
location = window.location,
成为:
location = _proxy_jslib_handle(window, 'location', '', 0, 0),
它们都涉及_proxy_jslib_XXX函数,这些函数取代了各种内置的Javascript机制。 我用谷歌搜索了一下,发现它来自CGIProxy,这是大多数代理网站使用的脚本。 也许它所做的更改与jquery不完全兼容。
也许你提出这个问题的正确地方是他的网站。这不是一个真正适合SO的编程问题。