###前提・実現したいこと
CDNの読み込みで、サービスのサーバーがダウンしている時にフォールバックがしたい
###該当のソースコード
php
1<?php 2function loadJquery($modern,$legacy) { 3 global $ie8;//関数外でIE8の場合trueになる変数を定義しているものとする 4 $version = $ie8 ? $legacy : $modern; 5 //4種のCDNサービスのURLを用意 6 $cdnArr = array( 7 'http://code.jquery.com/jquery-'.$version.'.min.js', 8 'http://ajax.googleapis.com/ajax/libs/jquery/'.$version.'/jquery.min.js', 9 'http://cdn.jsdelivr.net/jquery/'.$version.'/jquery.min.js', 10 'http://cdnjs.cloudflare.com/ajax/libs/jquery/'.$version.'/jquery.min.js' 11 ); 12 foreach($cdnArr as $value) { 13 //ファイルからを1バイト取得できたら処理を実行する 14 if(@file_get_contents($value, NULL, NULL, 0, 1) !== false) { 15 echo str_replace('http:','',$value); 16 break; 17 } 18 } 19} 20?> 21 22<script src="<?php loadJquery($modern = '2.1.4',$legacy = '1.7.2'); ?>"></script>
javascriptで実装する方法がメジャーですが、
出力ソースを綺麗にするためphpで書いてみました。
「こうした方が良い」
「ここを変えた方が良い」
などございましたらご指摘いただけると嬉しいです。
全く問題なければその旨をコメント頂けると幸いです・・!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。