我试图加载我的CSS异步所以我所做的是以下所有CSS样式我加载它们为media = none
,一旦页面加载我使用jQuery改变attr值为media = all
。
问题,我不断得到,我似乎无法解决的是,这只工作后,我刷新页面。在第一次加载时,我得到的是Uncaught ReferenceError: jQuery is not defined
。
另外,当我导航到下一页时,我需要再次刷新jQuery。
我在word press工作,所以这是我正在做的:
显然也
function wpic_theme_js(){
wp_deregister_script('jquery');
wp_deregister_script('jquery-migrate');
wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js', array(), '', false);
wp_enqueue_script('jquery');
wp_enqueue_script('app_js', get_template_directory_uri() . '/js/app.min.js', array('jquery'), '', true);
}
add_action('wp_enqueue_scripts', 'wpic_theme_js');
在我的jQuery脚本我有这个:
jQuery(document).ready(function($){
jQuery('link[media="none"]').each(function(){
jQuery(this).attr('media', 'all');
});
也可以告诉我,由于同样的原因,我有deregistered
查询迁移,我得到jQuery is not defined
错误。
如果有人有解决这个问题的办法,我会很感激的。
感谢p>我在这里取得了一点进展,我注意到jQuery没有完全加载。看起来jQuery库和我的app.js文件几乎在同一时间加载。所以当它触发时,jQuery还没有定义。
的URL: http://iamcavic.com/
我让它工作,但我现在有一个闪烁:(
这显然是错误的方法。WordPress中的所有jQuery动作都需要通过admin-ajax.php来传输和触发。
这个名字有点误导人,但是这个文件负责对后端/theme/做ajax请求。
一个google搜索:https://codex.wordpress.org/AJAX_in_Plugins