WordPress jQuery只在刷新后触发


WordPress jQuery fires only after refresh

我试图加载我的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