屏蔽恶劣网站的框架包含
林子大了,什么鸟都有!某些网站为了牟利,把别人的网页包含在有自己工具栏的框架里面,让众人为它们服务,真是恬不知耻。还好,Zola 给我们带来了一段代码,可以防止框架包含,并顺便骂骂这类网站:
bc[java].. var web = document.location;
if (top.location !== self.location) {
alert("你现在访问的是"+web+"\n 检测到你使用框架浏览本站内容,本页即将跳转到创作共用约定页面。\n 请不要使用框架跨站调用本站内容。\n 请遵守Creative Commons协议。\n 授权方式为:署名 · 非商业用途 · 保持一致");
//这个比较好,可以转到特定的页面提示一下.
this.location="http://www.creativecommons.cn/licenses/by-nc-sa/1.0/";
}
p.. 不过这样子跳转后,还是在它们的框架内,因此 mulberry 在桑林志上给出了更进一步的代码,就是把上面代码中的 this.location 换成 top.location,完全跳出框架。若同时删除上面的 url 部分,则会跳到真实页面上来。
bc[java].. var web = document.location;
if (top.location !== self.location) {
alert ("使用框架跨站调用它站内容是很丢脸的行为。\n 马上跳转到真实地址。");
top.location="";
}
p.. 对MT来说,只需将上述代码中的一个添加到 Site JavaScript 即 mt-site.js 模板中。
mullar
昨天还奇怪怎么一笑策划已久的网站变成了购物网,难道是做生意了?今儿知道了,坚决抵制“鸡奸”行为!
zola
让父级窗口跳转并删除原有url有个坏处就是会让用户和访问者会感到莫明其妙。继续把创作共用内容包含在框架内有助于普通用户了解网页被盗取的真相。
平生一笑
嗯,在框架内更容易让用户了解这类网站的无耻
高射机枪
第二个代码中
top.location="";
在某些页面会导致出错,改成
top.location=self.location;
就OK
Rick
有破解这种屏蔽框架的办法吧!请看www.yok.com,用它的搜索器搜索一下,选择百度的搜索结果,百度的页面中也有if(top.location!==self.location) top.location=self.location; 但是并没有跳出去,我百思不得其解,请高人看看它是怎么弄的。
平生一笑
很简单,它就是在<head></head>中间加上了
<script>var location='';</script>
Rick
有点不明白,为什么?
Rick
我看百度和雅虎防止别人frame时不仅仅用top.location=self.location; 而且还让页面内的链接变成站内相对地址,这样即使别人frame了这个页面之后,页面内的链接地址也是无效的,可是我看www.yok.com它frame了百度的页面后,页面内的站点地址也全都跟着改变了,我始终没想明白它是怎么弄的。我要请教高人啊!
平生一笑
它把本页面的location清空了,因此会造成这种情况,所以还是第一种方法好些
jack
加入var location='';后,是可以了,但运行的时候会提示“错误:没有权限”,这个问题怎么解决,Rick大哥。
谗嘴猫
9楼说的这个问题。有谁解决了吗?
加入var location='';后,是可以了,但运行的时候会提示“错误:没有权限”,这个问题怎么解决