今日是: ·联系我们 ·设置首页 ·加入收藏 
 
正确使用框架
 发布者:[Deepcast.net]  来源:[本站]  浏览:[]  评论:[ 字体:   
 

  在网络中有很多站点都使用了框架(Frames,或译作“分栏”)。每次碰到这样的站点时,我总喜欢看看他们的源代码,看看他们用得怎么样。在使用框架中确实存在正确的方法,而且如果使用不当,框架会给你的站点带来很大的影响。

作者:Vincent

   当你使用框架时,它会给你、访问者以及搜索引擎等带来一系列的问题,而最后可能影响你站点的访问情况和它在搜索引擎中的排名。下面是这些问题中的一部分。

  1、使用框架的站点需要更仔细的规划和设计,尤其是其中的链接,稍不注意就会造成窗口的错误,如一些站内的链接另外跳出了新窗口,或本该另开窗口的(如链接到其他站点的页面)没有跳出;

  2、不管你相不相信,现在确实还有很多冲浪者在使用那些不支持框架的、很古老的浏览器,这样一来,你有时得考虑建一个无框架版。

  3、会浪费你宝贵的屏幕显示面积,你用到的框架和滚动条越多,可以使用的有效面积就越少。

  4、框架还会让一些网上新手不知如何下手,特别是当你用得太多如三层甚至更多的时候,会使人们不知该从那儿浏览起。

  5、框架会给搜索引擎造成一个严重的技术问题。到目前为止,只有AltaVista和Infoseek两个主要搜索引擎能够处理带框架的页面。而对于其它搜索引擎,当它们在检索这些带框架的页面时,它们看到的只是一个“死”页面(框架结构的页面)。

  当然你可以通过另外提供信息来克服这个困难,也就是:在你的只有框架结构的页面里加入<Noframes>...</Noframes>部分,而且其中要有相关的链接,指向一个可以连到你站点所有其它部分的页面。

  这时这个框架结构页面应该大致像这样:
---------------------------------
<html>

<head>
 <meta name="description" content="这儿是你的站点的描述(Description)">
 <meta name="keywords" content="这儿是关键词(KeyWords)">
 <meta name="Author" content="作者名">
 <meta name="Classification" content="你的站点的分类">
 <meta name="ROBOTS" content="ALL">
 <meta name="GENERATOR" content="MicrosoftFrontPage3.0">
 <title>你的页面标题</title></head>

<frameset framespacing="0" border="false" frameborder="0" cols="140,*">
 <frame name="contents" target="main" src="home.htm" scrolling="auto">
 <frame name="main"src="main.html" scrolling="auto" noresize>
 <noframes>
 <body>
  <p>本页使用了框架结构,但是您的浏览器不支持它。不过您仍可以通过以下链接访问站点,请点击!</p>
  <p><a href="contents.html">进入</a></p>
 </body>
 </noframes></frameset>

</html>
---------------------------------

  当我们使用FrontPage等编辑工具时,其缺省的<Noframes>部分只是一句:“This page uses frames, but your browser doesn't support them.”这样不支持框架的搜索引擎(以及那些浏览者)根本没办法连入你的站点。但是如果你能像上面例子中那样在<Noframes>部分加入一个链接(上例中的contents.html),就能让搜索引擎知道该怎么找了。

  顺便提一句,这时在<head>部分中的<meta>标签对于站点在搜索引擎中的位置将变得非常重要。

  6、一旦你使用了框架,你就得对其中每一个页面都要仔细加以控制,因为你要考虑到那些不小心从“后门”进来的访问者——这里是指那些从你的一个不带框架的页面进入者,如果这些页面中没有合适的导览的话,他们就根本看不到站点中的其它部分。

  如何避免这种情况呢?可以通过在页面中加入下面这段Javascript脚本(注意:对于框架结构页面不要加入),可以保证绝大部分的浏览者克服这个问题,除非浏览器不支持Javascript或关闭了其中的脚本调试选项。
-------------------------------------
把这段代码放在<head>...</head>中,而且主框架页面取名为index.html。

<script language="JavaScript"><!--if(top==self)self.location.href="index.html";//--></script>

--------------------------------------

  这样当访问者直接连入这一页时,浏览器检测到它不在框架中,就会自动转到框架页面(即其中的index.html)。

  当然还可以通过在这些页面中使用<meta>标签的自动刷新功能做到:

--------------------------------------
同样在<head>...</head>加入

<meta http-equiv="Refresh" content="0;URL=index.html">

--------------------------------------

  但是这种方法只对4.0以上版本的IE有效,而且绝大多数搜索引擎对这种MetaRefresh功能深恶痛绝,会根本不再检索这个站点。所以建议大家还是用Javascript脚本的好(很奇怪,现在很多站点似乎特喜欢这个标签)。

  7、框架的使用会给站点带来一种称为“FrameSpoofing”(框架欺骗)的安全漏洞,攻击者只需使用简单的HTML或JAVASCRIPT就能让一个框架中的某个页面变成任何他所希望的页面,如果他插入一个带FORM表格的页面就可以欺骗性地收集该站点访问者的信息。

  大家可以在这儿看一个攻击的简单示例,这个例子打开纽约股市交易所的站点首页,但是在这个首页的框架中插入了其他站点的页面:http://www.ntsecurity.net/scripts/loader.asp?iD=/security/netscape-frame-test.htm

  当然Microsoft和Netscape都发布了相应的修补包,

http://www.microsoft.com/windows/Ie/security/spoof.asp
http://www.netscape.com/download/index.html?cp=djudepart。
  8、使用框架还有一个目前没法解决的问题:别人可以随意在他自己的框架里调用你的页面!

  我们辛辛苦苦设计的网页当然不想变成别人的一部分,但是当你使用框架时,你自己可以调用的任何页面所有人也都可以同样调用。虽然我们可以在每一页上加入自己的标志,但还是解决不了问题。

  谈了这么多框架的毛病,是不是就没有好处呢?当然不,框架的最大好处是让站点的更新变得比较方便。当站点内容变得非常庞大、结构越来越复杂时,如果不使用框架,小小的更新还没问题,稍大一点的变化(比方说增加或减少一个栏目),此时的更新简直是重造一个“新站”!

  到底用不用框架呢?

  我的建议是,如果你的站点内容很多、结构复杂以及更新大且多,或有什么其他的特殊原因,同时你也不在乎别人调用,那么可以使用,但一定要注意上面的那些问题;在其他情况下,能不用就尽量别用,不相信去看看那些商业站点,数一数有几个使用了“框架”?

]]>
365Key  新浪ViVi  搜狐狐摘  和讯网摘  天极网摘  POCO网摘  igooi-it网摘  亿友响享  delicious  博采  Furl 打印 】【 收藏 】【 推荐 】 
上一篇:给自己主页做了一个 MSN TAB 页面 下一篇:Alexa流量排名作弊
相关文章 推荐文章 热门文章
·暂无
中国人的人际网络
客户在哪里?
基于电子邮件的企业网络应用解决方案
短信成为IT第一收入来源 圈内人自爆抢骗黑幕
××网短信息服务基本条款
网址2004
Alexa流量排名作弊
正确使用框架
短信成为IT第一收入来源 圈内人自爆抢骗黑幕
网站行销策略
 评一评
正在读取…
笔名:
评论:
[评论将在5分钟内被审核,请耐心等待]
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
设置首页 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright ©2005 深度工作室
Powered By:EliteArticle System Version 2.20
闽ICP备05001238号