-
学习元中实现一键分享
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
一键分享
学习元中的一键分享用了网上的小工具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条)
聪明如你,不妨在这 发表你的看法与心得 ~