• 学习元中实现一键分享

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 一键分享

    学习元中的一键分享用了网上的小工具passit,Passit是国内一个网络书签按钮聚合按钮。简单来说,Passit作为网页内容分享插件,使浏览网页的用户能够非常方便地把自己所看到的、所感兴趣的网页内容通过简单的操作分享给自己的好友。只需在页面中添加一段简单的代码。代码如下:

    <!--Passit BUTTON BEGIN-->
    <div class="passit_def_div"><a class="passit_default" href="http://www.passit.cn/bookmark.html" target="_blank">分享到:</a></div>
    <script type="text/javascript" src="http://www.passit.cn/js/passit_default_new.js?pub=0&style=4" charset="UTF-8"></script>
    <!--Passit BUTTON END-->

    • 学习元中引入一键分享遇到的问题

    passit原理就是获取当前页面的url,然后把这个url分享出去。学习元页面没有问题,但是知识群页面就遇到问题了,因为知识群首页是包在一个iframe中的,它所得到的页面url是iframe子页面的url:http://localhost:8000/do/lc?action=infoNew&id=1278&addcount=1.打开后就是一个无头无尾无背景的页面。

    • 解决方法

    开始想过直接从子页面中获取iframe父页面的url,Js方法为window.parent.location.href.但是passit方法写在自己网站中,我们无法改变它。于是,我们只能改变自己以适应它。

    于是,想通过在子页面中Js判断当前页面是子页面还是父页面,如果是子页面的话,就是无头无尾页面,就需要改变。就需要从子页面地址栏中获取相关参数,然后让其跳转到父页面,就成功改变了自己无头无尾的状况。Js方法如下:

    <script type="text/javascript">

    $(document).ready(function(){
    var fatherPage = window.parent.location.href;
    if(fatherPage.indexOf("infoNew") > 0){
     var getIdFlag = getParentUrl("id");// 取到地址栏的id值
     var getAddcountFlag = getParentUrl("addcount");// 取到地址栏的addcount值
     if (getIdFlag != ''&&getAddcountFlag!= '') {
      var lcIdfromchildpage = getIdFlag;
      var addcountfromchildpage = getAddcountFlag;
      window.location.href = "/lc/lc_index.jsp?id="+lcIdfromchildpage+"&addcount="+addcountfromchildpage;
     }
    }

    });

    function getParentUrl(name) {
     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
     var r = window.parent.location.search.substr(1).match(reg);
     if (r != null) return unescape(r[2]);
    }


    </script>

    • 其他内容分享插件
    • 标签:
    • var
    • 39
    • passit
    • js
    • 一键分享
    • 页面
    • url
    • 分享
  • 加入的知识群:
    学习元评论 (0条)

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



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