合肥市高新区长江西路与科学大道交口5F创业园A座309 合肥网站建设 - 合肥网站制作 - 安徽网络公司
136 5560 1775
为政府搭建高效应用平台,为企业塑造良好形象,为网民营造美丽温馨家园!

rel=external和target=_blank区别 谁符合W3C标准?

发布日期:2011-04-16  浏览次数:2272

rel=external和target=_blank区别 谁符合W3C标准?
target,允许指定在什么位置显示已经选择的超链接内容。也就是说链接的内容将在什么样的窗口被显示。target 的属性值有四个保留的名称,分别是:_blank,_self,_parent,_top。其中_blank的意思是浏览器总在一个新打开的、未命名的窗口中载入target="_blank"链接的文档。这里大家也许会很不理解“未命名”是什么意思。事实上target 是可以给新打开的窗口赋一个ID,例如:target="name" 这就表明通过target="name"链接载入的文档将会在一个叫"name"的窗口显示。如果没有ID为"name"的窗口,那么浏览器就会新建一个名为"name"的窗口来显示链接文档。如果当前窗口的ID就是"name"那么这个链接文档就会在当前的窗口中替换原有的内容显示出来。而_self的意思其实就是当前文档,<a>的默认目标就是_self,这个属性值一般来说是用不到的。_parent是使链接文档在父级窗口显示,这个属性值只在框架结构中使用,如果身本就是顶级框架,那么其作用与_self相同。_top同样是应用在框架中的,但是他的效果是清除框架来显示目标文档。这对于从框架结构转向无框架结构是很有作用的。

现在我们知道了,target 是一目标显示的属性与浏览器密切相关的。那么rel又是什么呢, 为什么很多人把他当作是target 的替代属性呢?下面网站建设就来认识一下rel。

 

我们要在新窗口中打开链接通常的做法是在链接后面加target="_blank",我们采用过渡型的DOCTYPE(xhtml1-transitional. dtd)时没有问题,但是当我们使用严格的DOCTYPE(xhtml1-strict.dtd)时,这个方法将通不过W3C的校验,会出现如下错误提示:
"there is no attribute target for this element(in this HTML version)" 原来在HTML4.01/XHTML1.0/XHTML1.1严格DOCTYPE下,target="_blank"、target="_self"等等语法都是无效的,我们只能通过JavaScript来变通实现。

有人问为什么不允许使用target="_blank"?这个属性很方便啊。呵呵,不知道W3C的专家们是怎么想的,据我所知,主要是“易用性、友好性”的问题,因为老外觉得不经过用户同意,没有明确提示就打开一个新窗口是不礼貌的。先不管这个取消是否合理,我们来看看解决办法。 rel属性HTML4.0增加了一个新属性:rel,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目标。rel有许多的属性值,比如next、previous,、chapter、section等等。我们要使用的就是rel="external"属性。原来这样写的代码:
<a href="http://old.qimaikj.com" target="_blank">打开一个新窗口</a> 现在要写成这样:
<a href="http://www.qifanseo.com" rel="external">打开一个新窗口</a> 这是符合strict标准的方法。当然还必须配合一个javascript才有效。 javascript完整的代码JS如下:
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<ANCHORS.LENGTH; i++) {
var anchor = anchors;
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
你可以把它保存成一个.js文件(比如blank.js),然后通过外部联接方法调用:
<script type="text/javascript" src="blank.js"></script>

About Us

合肥启迈网络科技有限公司专业从事网站建设、网站优化、虚拟主机、域名 注册等网络服务。专业的设计团队、一流的服务态度和先进的网络技术让我 们在竞争激烈的网站设计这行业中蓬勃发展.......[ 查看详情]
服务热线:13655601775

Contact Us

网址:www.qimaikj.com

熊经理:13655601775
E-mail:qimai@qimaikj.com
地址:合肥市高新区长江西路与科学大道交口5F创业园A座309

免费咨询