Kar*_*ran 8 javascript php jquery downtime web
我明天将推出自己的网站,我期待几百次访问.
我根据PHP.net告诉我的内容编写了这个脚本:
<?
$f = fsockopen("code.jquery.com", 80, $errno, $errstr, 30);
if(!$f){
echo '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>'; }
else {
echo '<script src="http://code.jquery.com/jquery-1.6.4.min.js" type="text/javascript"></script>'; }
?>
Run Code Online (Sandbox Code Playgroud)
基本上,如果code.jquery.com的CDN出现故障(就像大约20分钟前一样),那么Google API库就会启动.我已经尝试过了,而jQuery已经启动了,它可以工作,但以防万一再次下降,这个脚本真的有效吗?(通过切换到谷歌的图书馆)我无法真正测试它,我必须使code.jquery.com脱机.大声笑.
我会做CSS替换,但我的整个站点都基于jQuery和Ajax,所以我真的需要它始终运行.我会在我自己的网站上托管它,但是当我们的网站运行正常时,我的网站并不像code.jquery.com或googleapis.com那样快.
非常感谢!任何回复非常感谢:)
swa*_*ins 23
你为什么要做这个服务器端?这对客户端来说更有意义:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="http://code.jquery.com/jquery-1.6.4.min.js">\x3C/script>')</script>
Run Code Online (Sandbox Code Playgroud)
这首先尝试从谷歌加载库.如果它加载,那么window.jQuery将可用.如果没有,那么它会尝试从code.jquery.com加载.如果两者都没有加载,你甚至可以在这两个之后加入另一个加载本地版本:
<script>window.jQuery || document.write('<script src="my/js/jquery-1.6.4.min.js">\x3C/script>')</script>
Run Code Online (Sandbox Code Playgroud)
Man*_*ijn 11
或者你可以用基本的html做到这一点:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script>
Run Code Online (Sandbox Code Playgroud)
这对你没有多大帮助.对每个请求进行提取会使事情变得非常缓慢.此外,如果您有上游缓存,则无论如何都不会反映更改.
我会寻求一个完全javascript的解决方案:尝试加载一个,如果它不起作用,尝试另一个.