网页标准:target 属性怎么用 JS 来控制?

js|标准|控制|网页

在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在<a>标签里使用target属性,这是一件令网页设计者懊恼的事.在过渡的规范里还是允许使用的.但通过一定的方法,我们可以解决这一问题.

HTMl4.0规范里拿掉了target属性.但它添加了另外一个属性:rel.这个属性是用来指定包含链接的文档和所链接文档之间的关系的.规范里定义了其属性值(如:next,previous,chapter,section),在这些属性里大多数是用来定义一个大文档里各个小部分之间的关系的.事实上.规范里允许开发人员自由的使用非标准属性值做特定的运用.

在这里,我们采用一个自定义值external用于rel属性来标记一个链接,用来新开一个窗口.

不符合最新Web标准的链接代码:
<a href="document.html" target="_blank">external link</a>

运用rel属性:
<a href="document.html" rel="external">external link</a>

现在我们构建了一个符合Web标准的新开窗口的链接,我们还需要运用JavaScript是其实现新开窗口.脚本要实现的工作是当网页加载时,找到文档里的所有那些我们定义为rel="external"的超链接.

首先我们要判断浏览器.
if (!document.getElementsByTagName) return;

getElementsByTagName是DOM1标准里一个容易使用的方法,且它被现在的大多数浏览器所支持,因为一些旧的浏览器如Netscape 4和IE4不支持DOM1,所以我们必须通过判定这一方法是否存在来排除这些旧版本的浏览器.

下一步,我们通过getElementsByTagName方法取得文档里所有的<a>标签:
var anchors = document.getElementsByTagName("a");

anchors被赋值为包含各个<a>标签的数组,现在我们必须遍历各个<a>标签并且修改它:

for (var i=0; i < anchors.length; i++) {
var anchor = anchors;

找到要实现新开窗口的<a>标签
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
接下来.建立属性值target并赋值"_target":
anchor.target = "_blank";

完整的代码:
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;

时间: 2024-07-31 08:27:28

网页标准:target 属性怎么用 JS 来控制?的相关文章

target 属性怎么用 JS 来控制?

js|控制 在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在<a>标签里使用target属性,这是一件令网页设计者懊恼的事.在过渡的规范里还是允许使用的.但通过一定的方法,我们可以解决这一问题. HTMl4.0规范里拿掉了target属性.但它添加了另外一个属性:rel.这个属性是用来指定包含链接的文档和所链接文档之间的关系的.规范里定义了其属性值(如:next,previous,chapter,section),在这些属性里大多数是用来定义一个大文档里各个小部分之

js 跳转(target属性)有难度

问题描述 js 跳转(target属性)有难度 var form_dl = document.main;? form_dl.target = 'aa_window'; //始终跳到相同的页面问题是: 在A页面点击一个连接跳转到B页面,当前停留的页面是B页面.然后再返回A页面继续点击那个连接 虽然B页面的刷新了 但是页面还是停留在了A页面. 我要解决的问题是不管有没有打开B页面 在你点击A页面连接的时候始终跳到B页面.怎么办?

JS获取网页图片name属性的方法_javascript技巧

本文实例讲述了JS获取网页图片name属性的方法.分享给大家供大家参考.具体如下: 下面的JS代码可以用来获取网页图片的name属性 <!DOCTYPE html> <html> <body> <img id="compman" name="compman" src="compman.gif" alt="Computerman" width="107" height

网页设计:CSS3、HTML5、JS和框架

文章描述:网页设计:CSS3.HTML5.JS和框架.  如今大热的HTML5到底美在哪里?HTML5到底能为实际的移动开发带来哪些改变?来自阿里云云手机服务运营部的前端开发工程师分享了他眼中的HTML5之美,主要讲诉HTML5的常见原理并从CSS.JavaScript和框架三个方面做了细致讲解.说到HTML5一般都会提到它新增了一些新的标签,这些标签能够减少文档的大小,也可以节省一些CSS定义,但是这个好处不足以说明HTML5在技术变革上带来的影响,我们还是先要明白HTML5的原理到底是怎样的

用javascript来控制 链接的target 属性的代码_经验交流

在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在<a>标签里使用target属性,这是一件令网页设计者懊恼的事.在过渡的规范里还是允许使用的.但通过一定的方法,我们可以解决这一问题.         HTMl4.0规范里拿掉了target属性.但它添加了另外一个属性:rel.这个属性是用来指定包含链接的文档和所链接文档之间的关系的.规范里定义了其属性值(如:next,previous,chapter,section),在这些属性里大多数是用来定义一个大文档里各个小部

web标准化学习指南:如何学习网页标准

web|web标准|网页 如何学习网页标准 很多经典论坛网页标准化版的版友问这个问题,我想每一个刚刚接触web标准的人都会问这样的问题,我就根据自己的经验总结. Step 1.不要一味使用DW等工具设计网页,去熟悉(X)HTML语言和CSS语言 因为web标准对代码的要求提高了,没有对xhtml代码没有一定的了解是无法通过校检的.DW工具也可以使用,但是要看着代码写网页了.首先是xhtml代码,不是很多,知道他们如何使用,怎么正确书写,而且要记得封闭tag.如<img/><br/>

重新认识一下网页标准

译自:What are web standards?中文:什么是网页标准?原作者:Nicholas C. Zakas请尊重版权,转载请注明出处! 译序:现在HTML5如日中天,各大浏览器都声称支持或者将支持HTML的特性,好像HTML5能够让互联网更美好,能让网站开发人员解放一样.或许大家被压抑太久,或许大家太乐观,或许标准真的已经深入人心了.看着火辣辣的HTML5,想想XHTML标准的尴尬,或许这个时候看看这篇写于2008年底文章会让我们更理解到底什么才是标准,标准能做什么,而我们应该做些什么

从GMail认识的W3C网页标准和Ajax

ajax|w3c|标准|网页 不可否认,W3C网页标准刚出来的时候的确很吸引人.那时因为firefox的出现,冲击了浏览器市场,使得大家为了一个小狐狸,而掀起一场网页标准的风波,但是对于设计师来说带来什么?在这场风波我看到的最多就是技术的泛滥. 和一些designer聊天,第一句话就问,"你的网页标准化了"吗,"你的网页又有几处错误".无形中这些话就给我们这些designer来说带来很大压力.每次更新网页都很害怕因为一些小小的改动导致一些小错误.似乎W3C成了一种追

符合W3C网页标准的iframe标签的使用方法_javascript技巧

网站想改版,其中有一种广告的问题,以前每投放一个广告我都要把全站的文章都要更新一遍,这样既不便又不好!把网站以前推荐的一些文章都改成现在推荐的几个了!而且还浪费了我的时间.所以想使用Iframe来实现,但是直接使用iframe又不符合标准,那么该如何使用才能符合W3C的标准呢?  直接使用"IFRAME"不符合"W3C网页标准"  用JS来实现iframe 的标准化.  一.建立一个JS文件,代码如下:  复制代码 代码如下: function ifr(url,w,