使用“后备脚本”从WordPress中的Google AJAX Libraries API加载jQuery
我添加了一个Wordpress函数来从Google Hosted Libraries加载jQuery库
if (!is_admin()) add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11); function my_jquery_enqueue() { wp_deregister_script('jquery'); wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js", false, null); wp_enqueue_script('jquery'); }
它创造了这样的东西
根据html5boilerplate建议,如何将其与fallback选项一起包含在内
window.jQuery || document.write('')
像这样
试试这个。 用此代码替换您的代码。 这将处理所有。
/************* ENQUEUE JS *************************/ /* pull jquery from google's CDN. If it's not available, grab the local copy. */ $url = 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'; // the URL to check against $test_url = @fopen($url,'r'); // test parameters if( $test_url !== false ) { // test if the URL exists function load_external_jQuery() { // load external file wp_deregister_script( 'jquery' ); // deregisters the default WordPress jQuery wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'); // register the external file wp_enqueue_script('jquery'); // enqueue the external file } add_action('wp_enqueue_scripts', 'load_external_jQuery'); // initiate the function } else { function load_local_jQuery() { wp_deregister_script('jquery'); // initiate the function wp_register_script('jquery', get_template_directory_uri().'/js/jquery.js', __FILE__, false, '1.7.2', true); // register the local file wp_enqueue_script('jquery'); // enqueue the local file } add_action('wp_enqueue_scripts', 'load_local_jQuery'); // initiate the function }
将此代码放在functions.php中
@Mangesh Parte的Answer
可能很简短 ,
你可以试试这个:
为什么服务器端解决方案的答案很多? 想想谁住在中国 , 谷歌被封锁了 。
这是正确的答案 (没有服务器端):
对于Wordpress 4.5.0 + : wp_add_inline_script()
#
function jquery_enqueue_with_fallback() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery' , '//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js', false, '3.1.0', true ); wp_add_inline_script( 'jquery', 'window.jQuery||document.write(\'
- 没有服务器端检查程序
- 底部的脚本
- 真正的后备(到本地脚本)
注意:更改版本和您自己的本地jQuery源。