防框代码的加强版

我在《用技术手段应对违反创作共用协议者》引用Zola反框代码后,费老提出了更简单的方法。不过Zola在《从防框架代码跳转的两种不同态度所想到的》中的观点我比较赞成,简单地去掉框是不够的,何况还存在着这样的问题。但是原来那种形式的提示也的确对读者来说体验不好。

可惜我对JS实在不熟,忙了一个下午才总算改了一个效果更好的做法:

<div id="anti_frame" style="font-size:9pt;border:1px solid #0F0; padding:2px; background-color:#FF0; display:none; position: absolute; z-index: 100; height: 150px; width: 530px; top: 10px; left: 100px;">
<p>您现在访问的是<a href="http://raptor.verybs.com">猛禽的冷月无声</a>,本站采用<a href="http://www.creativecommons.cn/licenses/by-nc-sa/1.0">署名·非商业性·保持一致 的Creative Commons协议</a>。<br/>
您看到这个提示框是因为检测到您正在使用框架浏览页面:<br/>
<script type="text/javascript">
document.write( document.location );
</script><br/>
部分商业网站未经同意就采用跨站框架引用方式引用本站内容,<br/>
这是违反了Creative Commons授权的行为。<br/>
推荐您直接访问:<a href="http://blog.we8log.com">http://blog.we8log.com</a><br/>
或订阅RSS源:<a href="http://www.feedsky.com/feed/raptor">http://www.feedsky.com/feed/raptor</a></p>
<center><a href="#" onClick="javascript:top.location=document.location;" style="font-weight:bold;">关闭本说明</a></center>
</div>

<script type="text/javascript"><!--
function auto_load( )
{
document.getElementById( "anti_frame" ).style.display = "";
document.getElementById( "anti_frame" ).style.top=10;
auto_move();
}

function auto_move( )
{
document.getElementById( "anti_frame" ).style.top=document.body.scrollTop + 10;
setTimeout("auto_move();",1);
}

if ( top.location !== self.location ) {
auto_load( );
}
//--></script>

可以去看看我在这里使用后的效果:例子

7 Replies to “防框代码的加强版”

  1. 1、把正在查阅的地址加上链接;2、加一个多少秒以后跳转的自动服务;3、用CSS虑镜把背景半透明化;4、加上CC协议的相关内容……嘿嘿

Leave a Reply

Your email address will not be published. Required fields are marked *