Javascript Ajax调用后的addClass

Javascript Ajax调用后的addClass,javascript,ajax,Javascript,Ajax,简单的东西, 在下面的脚本中,我将类“mobile”添加到元素中 脚本的目标是根据屏幕分辨率通过require.js为我的主题提供响应功能 这应该是不言自明的,但我不明白为什么它只是被插入到主页上:如果我打开任何其他页面的移动类不存在 (function($) { var htmlCache = { desktop: null, mobile: null }; var reload_page = function(mobile) { var bodyHtml = ''; if(mob

简单的东西, 在下面的脚本中,我将类“mobile”添加到元素中

脚本的目标是根据屏幕分辨率通过require.js为我的主题提供响应功能

这应该是不言自明的,但我不明白为什么它只是被插入到主页上:如果我打开任何其他页面的移动类不存在

(function($) {
var htmlCache = { desktop: null, mobile: null };

var reload_page = function(mobile) {
  var bodyHtml = '';

  if(mobile && htmlCache.mobile)
    bodyHtml = htmlCache.mobile;
  else if(!mobile && htmlCache.desktop)
    bodyHtml = htmlCache.desktop;
  else
    $.ajax(location.href, {
      type: 'POST',
      async: false,
      data: {
        ajax: 1,
        force_mobile: mobile ? 1 : null
      },
      success: function(data)
        {
          if(mobile) {
            htmlCache.mobile = data;
          }
          else
            htmlCache.desktop = data;
          bodyHtml = data;
        },
      dataType: 'html'
    });

  $('body').html(bodyHtml);
};

$(function() {
  // Be responsive only on desktop
  if($('body').hasClass('mobile')) {
    return;
  } else {
    htmlCache.desktop = $('body').html();

    enquire.register('screen and (max-width:1080px)', {
      match: function() {
        reload_page(true);
        $('body').addClass('mobile');
        $('<link />', {
          rel: 'stylesheet',
          id: 'mobile-css',
          href: 'http://dev.andreapuiatti.com/dev0/wp-content/themes/spk/mobile.css?ver=3.6',
          media: 'all'
        }).appendTo('head');
      },
    });

    enquire.register('screen and (min-width:1081px)', {
      match: function() {
        reload_page(false);
        $('body').removeClass('mobile');
        $('#mobile-css').remove();
      },
    });
  }
});
})(jQuery);
(函数($){
var htmlCache={desktop:null,mobile:null};
var reload_page=功能(移动){
var bodyHtml='';
if(mobile&&htmlCache.mobile)
bodyHtml=htmlCache.mobile;
else if(!mobile&&htmlCache.desktop)
bodyHtml=htmlCache.desktop;
其他的
$.ajax(location.href{
键入:“POST”,
async:false,
数据:{
阿贾克斯:1,
force_mobile:mobile?1:null
},
成功:功能(数据)
{
国际单项体育联合会(流动){
htmlCache.mobile=数据;
}
其他的
htmlCache.desktop=数据;
bodyHtml=数据;
},
数据类型:“html”
});
$('body').html(bodyHtml);
};
$(函数(){
//仅在桌面上响应
if($('body').hasClass('mobile')){
返回;
}否则{
htmlCache.desktop=$('body').html();
查询寄存器('屏幕和(最大宽度:1080px)'{
匹配:函数(){
重新加载页面(真);
$('body').addClass('mobile');
$('', {
rel:'样式表',
id:“移动css”,
href:'http://dev.andreapuiatti.com/dev0/wp-content/themes/spk/mobile.css?ver=3.6',
媒体:"所有"
}).appendTo(“head”);
},
});
查询注册表('屏幕和(最小宽度:1081px)'{
匹配:函数(){
重新加载页面(假);
$('body').removeClass('mobile');
$(“#移动css”).remove();
},
});
}
});
})(jQuery);

你能提供一个更小的子集来重现你的问题吗?@blue112:谢谢!这就是主题:正如您所看到的,如果您激活了任何移动用户代理,第一个页面将加载元素中的类“mobile”,但是如果您单击任何其他链接,它将消失,移动主题将显示为未设置样式