• Top页面上的按钮有时失效的解决思路

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 一、问题描述

    学习元中的top页面中的按钮,在某些页面中会失效。问题具体为:在学习元和知识群的具体页面更换网站皮肤、语言以及退出都不管用。

    • 二、分析问题

    经过分析,上述问题的共同原因是:更换网站皮肤、语言以及退出都是通过jQuery的ajax实现的,而在某些页面中也是用了jQuery,这样就会导致冲突。

    • 三、解决问题

    刚开始是想着在top.jsp中通过var $j = jQuery.noConflict() 解决命名冲突的问题,但是这样虽然top页面的错误解决了,却给包含top.jsp的页面带来了新的问题:即涉及到jQuery的功能失效了。

    所以最后想着在top.jsp中放弃是用jQuery,直接用js去实现,最终证明这个思路是正确的。具体方法如下:

    更换皮肤:

    function changeStyle(webStyle){
          var redirectURL = this.location.href; 
          redirectURL = redirectURL.replace(/\&/g, "%26"); 
          redirectURL = redirectURL.replace(/\+/g, "%2B");
          window.location.href = "/do/user?action=changeStyle&webStyle="+webStyle+"&redirectURL="+redirectURL;
    }

    更换语言:

    function changeLanguage(weblanguage){
          var redirectURL = this.location.href;
          redirectURL = redirectURL.replace(/\&/g, "%26");
          redirectURL = redirectURL.replace(/\+/g, "%2B");
          window.location.href = "/do/user?action=changeLanguage&weblanguage="+weblanguage+"&redirectURL="+redirectURL;
    }

    退出:

    function exitSys(){
           var redirectURL = this.location.href;
          redirectURL = redirectURL.replace(/\&/g, "%26");
          redirectURL = redirectURL.replace(/\+/g, "%2B");
          window.location.href = "/do/user?action=logout&requestURL="+redirectURL;
    }

    • 标签:
    • 按钮失效
    • redirecturl
    • 更换
    • var
    • 学习元
    • 解决思路
    • jquery
    • redirecturl.replace
    • top.jsp
    • top
    • function
    • 问题
    • this.location.href
    • 页面
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部