HTML 4.0 Strict和XHTML 1.0 STRICT里在标签里使用target属性
2008-06-05 11:02
781 查看
在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>标签
接下来.建立属性值target并赋值"_target":
anchor.target = "_blank";
完整的代码:
<base>是一个链接基准标记,用以改变页面中所有链接标记的参数默认值。
引申应用:
<head><base href="http://hi.baidu.com/jjpro" target="_blank" /></head>
<body><a href="jjpro">资料收集</a></body>
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") |
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; |
所有链接都设成_blank简单方法
在页面<head></head>之间加入<base target=_blank>(XHTML:<base target="_blank" />),就会使该页面所有链接均为新开窗口打开。<base>是一个链接基准标记,用以改变页面中所有链接标记的参数默认值。
引申应用:
<head><base href="http://hi.baidu.com/jjpro" target="_blank" /></head>
<body><a href="jjpro">资料收集</a></body>
相关文章推荐
- HTML中<a>标签的target属性--在使用frame框架做网页时可用到
- HTML中<a>标签的target属性--在使用frame框架做网页时可用到
- HTML中a标签的target属性使用方法
- A标签的target属性的使用
- HTML/xHTML标签语义化使用指南 你真的懂网页语义化吗?
- html中框架的使用和属性target的使用
- 面试题之:HTML <a> 标签的 target 属性中有哪些可以在新窗口中打开链接?
- 验证 (XHTML 1.0 Transitional): 属性“width”被视为已过时。建议使用较新的构造
- php整理html 自定义允许使用的标签和属性属性
- 页面布局 "HTML 4.0 Transitional” VS "XHTML 1.0 Transitional" 新的不一定就好用!
- HTML4.0 / XHTML 1.0 Reference Manual
- html标签中meta属性使用介绍
- html中a标签的target属性
- 页面布局 "HTML 4.0 Transitional” VS "XHTML 1.0 Transitional" 新的不一定就好用!
- html的meta总结,html标签中meta属性使用介绍(转)
- Web前端开发最佳实践(5):正确闭合HTML标签,停止使用不标准的标签和属性
- html的meta总结,html标签中meta属性使用介绍和 动态替换字符串
- 在struts中html:select 标签的disabled属性中使用java代码
- 使用正则表达式操作html标签中的特定属性
- Extjs 利用panel html属性加入DIV实现如TextArea的效果,并且能正确使用html标签,实现如向textarea文本域嵌入按钮button或其他控件,,而且兼容firefox