加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

JavaScript 脚本控制 target 属性值

发布时间:2018-08-23 13:15:15 所属栏目:创业 来源:站长网
导读:在HTML 4.0 Strict和XHTML 1.0 STRICT里不应承在a标签里行使target属性,这是一件令网页计划者懊恼的事.在过渡的类型里照旧应承行使的.但通过必然的要领,我们可以办理这一题目. HTMl4.0类型里拿掉了target属性.但它添加了其它一个属性:rel.这个属性是用来指
在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[i];

找到要实现新开窗口的<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[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读