我正在尝试加载我的CSS异步,因此我所做的是对所有css样式执行的操作如下所示:我将它们加载为media = none
并且加载页面后,我使用jQuery将attr值更改为media = all
。WordPress jQuery仅在刷新后才会触发
问题,我不断得到,我似乎无法解决的是,这只适用于我刷新页面后。在第一次加载时,我得到的是Uncaught ReferenceError: jQuery is not defined
。
此外,当我导航到下一页时,我需要再次刷新jQuery才能触发。
我在Word新闻工作,所以这是我在做什么:
的functions.php
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-migrate出于同样的原因我得到jQuery is not defined
错误。
如果有人有这个解决方案,我将不胜感激帮助。
感谢
PS> 我正在进步一点点在这里,我注意到,jQuery是不完全加载。看起来像jQuery库和我的app.js文件几乎完全相同的时间加载。所以,当它触发jQuery是没有定义尚未..
我得到它的工作,但我现在已经闪烁:(
你在调用之前加载Jquery吗? –
@JotaGe你可以在他的代码中看到他是... – Lee
确保你的脚本应该被写入/包含在jquery后 –