sina微博加入到博客园-阿里云开发者社区

开发者社区> 开发与运维> 正文

sina微博加入到博客园

简介: 很多博客都可以自己添加修改一些代码,但是作为博客平台来说,可能为了安全考虑,很多时候要过滤一些特性,比如:新浪微博的挂件是iframe形式的,但是博客园不支持iframe。经过一些尝试,最终有了下面两种解决办法: 首先先在公告中写一个空div,方便我们插入新建的iframe,省的用cl...

很多博客都可以自己添加修改一些代码,但是作为博客平台来说,可能为了安全考虑,很多时候要过滤一些特性,比如:新浪微博的挂件是iframe形式的,但是博客园不支持iframe。经过一些尝试,最终有了下面两种解决办法:


首先先在公告中写一个空div,方便我们插入新建的iframe,省的用class选来选去的麻烦:



<div id="weiboIframe">
</div>

1、在公告中直接用innerHTML插入iframe代码:


innerHTML是很很简单的,从新浪微博的配置中,配好你自己想要的样式,然后他会自动生成一段html代码,类似下面这样的:



<iframe width="100%" height="100" class="share_self"  frameborder="0" scrolling="no" src="http://widget.weibo.com/weiboshow/index.php?width=0&height=100&fansRow=1&ptype=1&speed=0&skin=1&isTitle=1&noborder=0&isWeibo=0&isFans=0&uid=1855270953&verifier=375b89d6"></iframe>

但是如果你直接写成下面这个样子的话,不会生效的:


复制代码

var ifr = '<iframe width="100%" height="100" class="share_self"  frameborder="0" scrolling="no" src="http://widget.weibo.com/weiboshow/index.php?width=0&height=100&fansRow=1&ptype=1&speed=0&skin=1&isTitle=1&noborder=0&isWeibo=0&isFans=0&uid=1855270953&verifier=375b89d6"></iframe>';

document.getElementById('weiboIframe').innerHTML = ifr;

复制代码

 


估计博客园后台直接去匹配iframe文本,所以我们把这个打乱,这样,他应该不会去检测逻辑,改成这样就成功了:


复制代码

<script type="text/javascript">
var ifr = '<ifra';
ifr += 'me width="100%" height="115" class="share_self" frameborder="0" scrolling="no" src="http://widget.weibo.com/weiboshow/index.php?width=0&height=100&fansRow=1&ptype=1&speed=0&skin=1&isTitle=1&noborder=0&isWeibo=0&isFans=0&uid=1855270953&verifier=375b89d6"></ifr';
ifr += 'ame>';
document.getElementById('weiboIframe').innerHTML = ifr;
</script>

复制代码

  


 


2、还可以使用createElement方法:


因为这里有人用过Google Adsense的代码,所以猜测这个方法是可以使用的,经过测试,确实可用,就是比上面那个要多写一些东西:


复制代码

<script type="text/javascript">

var iii = document.createElement('iframe');
iii.src = 'http://widget.weibo.com/weiboshow/index.php?width=0&height=100&fansRow=1&ptype=1&speed=0&skin=1&isTitle=1&noborder=0&isWeibo=0&isFans=0&uid=1855270953&verifier=375b89d6';
iii.height = 115;
iii.width = '100%';
iii.className = 'share_self';
iii.scrolling = 'no';
document.getElementById('weiboIframe').appendChild(iii);

</script>

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章