我通常運行兩種方法,這取決於服務器配置,它使用PHP遠程檢查CDN託管的腳本的可用性。一個是cURL
,另一個是fopen
。我結合這兩個功能我用在各自的情況下,像這樣:在WordPress中使用CDN託管腳本的單一功能
function use_cdn(){
$url = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'; // the URL to check against
$ret = false;
if(function_exists('curl_init')) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_NOBODY, true);
$result = curl_exec($curl);
if (($result !== false) && (curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200)) $ret = true;
curl_close($curl);
}
else {
$ret = @fopen($url,'r');
}
if($ret) {
wp_deregister_script('jquery'); // deregisters the default WordPress jQuery
wp_register_script('jquery', $url); // register the external file
wp_enqueue_script('jquery'); // enqueue the external file
}
else {
wp_enqueue_script('jquery'); // enqueue the local file
}
}
...但我不希望推倒重來。這是一個好的,堅實的技術,還是任何人都可以提供關於如何簡化/簡化流程的指針?
我會很擔心,如果谷歌CDN崩潰,世界將會結束。 O.o –
@cryptic我知道,但是Google不必因爲某些地區/某些網絡等原因而無法使用CDN。 –
請看我的簡化方法。 –