关于 Longoes

About LongoesLongoes 致力于创建美观、易于使用、搜索引擎友好的网站,我们提供企业网站、电子商务平台、在线展示、社交网站、个人博客系统的设计开发服务,我们不仅自己做页面设计,我们也提供将您的设计稿转化成 Xhtml + css 页面的服务。

分类

最近文章

服务内容

07月07日

让页面在新窗口打开的批处理方法

[ 时间:2010/07/07    浏览:1,039 views    分类:博客.]

我们一般在做网页设计的时候,一般不会太关注链接是不是在当前页面打开,没有特意设置链接打开的方式是_self还是_blank。慢慢你会发现有很多的问题,特别是我们经常转贴其他网站内容的文章,页面中的链接地址经常是在_self中打开。对网站所有者来这将损失很多的流量,对浏览者来说,有时候会感到很迷惑。
如何改变这种方式,手动去加上target=”_blank”,这种方法笨,而且当一篇文章包含很多链接时,更费力。
我们可以用<base target=”_blank”>这段代码,写在网页的head中。这样链接就会在新的窗口中打开了。
<base target=_blank>是将基本链接的目标框架都改为新页打开,如果对HTML、CSS和JS不是很熟悉,不建议使用这种方法,改为独立控制。
其实<a>、<form>等很多标签都支持target=”_black”的属性,建议在这样的标签里单独做设置,比如:
<a href=”xxx.htm” target=”_blank”>超链接内容</a> <form action=”xxx.htm” target=”_blank”>表达内容<input type=”submit” value=”提交按钮”></form> 如果不加这一句,默认均为本页刷新,即target=”_self”。

target=_blank,这个标签,就是解决这个问题的。<base target=_blank>是将基本链接的目标框架都改为新页打开,即弹出新窗口。<a>、<form>等很多标签都支持target=”black”的属性,可以在这样的标签里单独做设置,比如:
<a href=”http://longoes.com” target=”_blank”>超链接内容</a>
<form action=”http://longoes.com” target=”_blank”>表达内容<input type=”submit” value=”提交按钮”></form> 如果不加这一句,默认均为本页刷新,即target=”_self”。还有两个这样的标签,<target=_top>表示在整页窗口打开,<target=_parent>表示在父窗口打开。
<a href=”http://longoes.com”   target=”_blank”>单独定义,新窗口打开</a>
<a href=”http://longoes.com”   target=”_self”>单独定义,相同窗口打开</a>
<a href=”http://longoes.com”   target=”_top”>单独定义,整页窗口打开</a>
<a href=”http://longoes.com”   target=”_parent”>单独定义,父窗口打开</a>
另外,这只是单独设置,如果有在某个页面上有很多的链接或者form表单,逐一的添加标签会很麻烦,有没有类似批处理的呢?
这就要用到<base target=_xxx>   ,这是基本的HTML语言。用<base target=_××>来设置这个网页所有链接的目标窗口。也就是说,网页中只要添加<base target=_××>这句,那么所有的超链接就无须单独设置。最好将这句写在<head>和</head>之间。例如
<base target=_blank>表示网页中所有的超链接的目标地址都在新建窗口中打开。
<base target=_self>表示网页中所有的超链接的目标地址都在原窗口上打开。
当然,这样的标签有时也会碰到麻烦。
1   不符合标准
当我们使用W3C过渡型标准时,即DOCTYPE(xh tml1-transitional. dtd),没有问题,但是使用严格的标准时,即DOCTYPE(xhtml1-strict.dtd),就会出错,错误提示:
“there is no attribute target for this element(in this HTML version)”
HTML4.0增加了一个新属性:rel,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目 标。rel有许多的属性值,比如next、previous,、chapter、section等等。我们要使用的就是rel=”externa l”属性。原来这样写的代码:
<a href=”document.html” target=”_blank”> 打开一个新窗口</a> 现在要写成这样:
<a href=”document.html” 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[i];
if (anchor.getAttribute(“href”) &&
anchor.getAttribute(“rel”) == “external”)
anchor.target = “_blank”;
}
}
window.onload = externallinks;
你可以把它保存成一个.js文件(比如external.js),然后通过外部联接方法调用:
<script type=”text/javascript” src=”external.js”></script>
就是这样。
2    浏览器不支持
有时,使用了上述标签,但是,任旧不见效果,比如使用了target=_blank,却不能弹出窗口,这是因为,有些浏览器被用户设置了,不让弹出窗口,当然这样设置是为了屏蔽广告,因此,这是就无法打开新窗口,知道了原因,解决就很简单了,在浏览器中设置一下就可以了。

评论





 

© 2006 - 2012 珑格斯 网站建设方案解决专家   |   嗨!收集分享 旗下网站   |   RRS