前几天,在发布《那些多年的梦想2》几个小时之后,有几个朋友在部落微博留言说点击文章链接会跳转到 这个 蝉游记网站的页面上,经过实测后确实发现了这样问题,于是连忙请教 梧桐雨软件园 的站长一起来研究这到底是怎么回事。
在《那些多年的梦想2》起稿的时候,是打算把朋友写在蝉游记上的游记直接通过<iframe>标签来直接嵌入到博客文章中,方便大家查看;从文章正式发布前一天到发布为止,均能正常显示没有任何问题,直至发布几小时后,才出现整个文章页面跳转到蝉游记网站的情况。
起因与经过
我们设想了好几种情况,第一种情况就是代码部署错误所致。在文章中部署的代码是这样的:
<iframe height="400" src="http://chanyouji.com/trips/18865" width="650"></iframe>
因为考虑到蝉游记网站会对浏览器大小进行自适应,所以并没有添加frameborder(边框)scrolling(滚动条)等变量控制代码
然而,把 src="http://chanyouji.com/trips/18865" 部分替换成 src="http://baidu.com"后能则正常显示,效果如下:
(由于没有添加边框和滚动条等控制变量代码,所以会有页面显示不全并有滚动条属正常现象)
虽然上述<iframe>代码编写得并不规范,但结构是没问题的,把嵌入网址替换成百度网址的代码
<iframe height="400" src="http://baidu.com" width="650"></iframe>
经过实测在 梧桐雨软件园 上同样能正常显示,而蝉游记
<iframe height="400" src="http://chanyouji.com/trips/18865" width="650"></iframe>
经过实测在梧桐雨软件园的测试页面上同样会出现自动跳转到蝉游记首页的现象。基本可以断定,发生自动跳转的问题出自在蝉游记网站身上。
梧桐雨软件园方面立即对自动跳转后的蝉游记页面的代码进行了细致的研究,最后研究发现,确定蝉游记网站单方面部署了防止其他网站直接<iframe>的代码。
<script type="text/javascript">if(self != top)top.location.href = "http://chanyouji.com/?anti_iframe_source=" + top.location.href + "&anti_iframe_url=" + self.location.href;</script>
于是讨论的重点来了。
相信有不少非互联网专业的朋友是看不懂什么是<iframe>什么是代码,在这可以用一个通俗的解释,<iframe>可以大致理解为网页中的浏览器。我们都知道,我们访问网站,需要通过浏览器键入网址、登陆到网站上来访问内容。而<iframe>则是在一个页面上直接内嵌一个浏览框,直接在网页上查看目标网页,而不需要读者另行点去访问目标网页。在应用上是一种整合。
在《那些多年的梦想2》的应用中,就是设想把朋友的游记页面通过<iframe>来内嵌到 的文章页面中,从而整合达到一体化阅读的目的。
那这样的嵌入应用是否会有版权冲突、窃用、甚至道德层面的问题呢?
相信大家都经常在微博上看视频吧,这实际上就是微博发布者通过部署好代码的按钮把视频网站上视频播放框嵌入到微博当中,这是一种非常常见的分享行为。
转载过来的内容依然是原本的内容,在站方没有声明禁止转载的前提下,完全不构成版权问题,更不属于窃用。
互联网是开放的,对网络上分享公开的内容在遵循《creativecommons》"署名-非商业性使用-禁止演绎 2.5 "条约 的前提下进行转载是合理的。而在本实例上,嵌入蝉游记网站公开的内容属于一种分享行为,不违反条约且合情合理。
而事实上,运用<iframe>来分享内容在互联网的其他地方也很常见,例如优酷:
在确定转载出现跳转的问题确定出现在蝉游记网站方面后,我们便探讨运用<iframe>对网站有什么损失,在搜寻网络上部分资料后得出结论:会让被转载方损失部分流量和seo,会影响转载方自身部分seo。通俗来讲,在部分视流量为生命的网站经营方看来,折损流量相当于要了他的命,再直接点讲,或许就是经济利益受到损失。
在蝉游记观察网站后发现,游记页面右上角是有分享按钮的,但只支持通过API直接分享到新浪微博、QQ空间、豆瓣上:
尝试点击分享到新浪微博后,发现这是属于通常类型的分享按钮
分享到新浪微博后,微博浏览者并不能通过微博像浏览视频那样直接浏览游记,而是同样要通过链接登陆蝉游记的游记页面进行阅读。
对比起优酷土豆等网站开放自由地分享内容,蝉游记方面仅仅支持链接分享而不支持内容分享,并且故意部署代码阻止其他人通过技术方式把内容直接分享出去,这种行为个人主观地怀疑为:为了最大限度保障流量(背后的利益),采取技术手段禁止他人对公开的内容进行会造成流量等(利益)折损的分享。这种行为,从一定程度上来讲已经伤害了互联网自由开放平等公开的理念。
事发后博主曾尝试与蝉游记站方进行沟通,但直至发文为止站方仍没有任何回应。
最后,再次感谢梧桐雨软件园的博主在本次事件中提供技术支持和帮助,欢迎各位读者对本文中的技术上的缺漏提出指正和补充、对本文的部分观点有不同意见的也欢迎提出讨论,共同为营造良好的互联网氛围出一份力。最后的最后,再次推荐各位朋友去阅读一下前文提及到的游记。我相信,好游记,无论发布在何方都值得一读。
不错,学到了一个防止iframe的方法。话说博主,你文章里的链接都不在新窗口打开啊。新窗口打开好一点吧
@小小 谢谢留言。这的确是个一直以来的问题,经过提醒已经将近期所有文章里的链接设置成新窗口打开了
新年马上到了,提前祝新年快乐,博客越办越好!