29 Oct 2005, 23:56 UTC

今日流水账 - 框框和代码

前几天就看到了Zola的代码,用来防止被页面被其它网站使用FRAME调用。它的原理是发现被FRAME调用就弹出Alert,放置警告信息和CC许可,点击确定后跳转到CC许可。

发现这样有点不足,因为被FRAME调用的页面还是会显示出来,如果看的人不点击确认按钮,那个Alert的作用就不大了。

于是乎自己写了一个,原理是:发现页面被FRAME调用后,就用一个DIV把内容部分的标题和部分正文盖住,同时在DIV上面放置警告信息和CC授权以及原文链接,点击以后在原FRAME外打开一个新窗口。

这个方法也有问题就是DIV的位置需要人工设定,每个Blog的设置是不同的,这个只能自用,比较可惜,在这里就不贴代码了。

今天在Keso的Blog上看到还有更简单的办法:其实不用这么麻烦,读者要阅读的是你的内容,而不是CC许可,简单的办法就是,将被框住的内容,去掉框架后重新打开。

`<script type="text/javascript"><!-- if ( top.location !== self.location ) { top.location=self.location; } //--></script>`

唯一的缺点是对禁用Javascript的浏览器无效,不管怎么样这是我看到的最好的解决办法,在这里强烈推荐!

Update:这个方法的传播途径是维基百科=>Slashdotcn的匿名评论\=>费乐沃\=>Keso\=>我=>你,挺有意思的~

Technorati : blog, iframe

comments powered by Disqus