Home > Technology > js判断外链并新窗口打开

js判断外链并新窗口打开

以前我的博客用了jQuery搞了些花哨的东西.包括在新窗口打开外链.现在没有用jQuery这个优秀的框架了.用简单的代码可以实现这个小小的要求.代码如下.

function outlinks(){
var locationMatch = document.location.href.match(/^(http:\/\/)?([^\/]+)/i);
var siteUrl = locationMatch[2];
var allLinks = document.getElementsByTagName(‘a’);
var len = allLinks.length;
if(len > 0){
var externalLink;
for(i=0; i<len; i++){
externalLink = allLinks[i];
if (externalLink.href.indexOf(siteUrl) == -1){
externalLink.setAttribute(‘target’, ‘_blank’);
}
}
}
}
window.onload = function(){
outlinks();
}

把以上代码放到一个你的js文件里就好了.

更新:修改成if (externalLink.href.indexOf(siteUrl) == -1 && externalLink.href.indexOf(“javascript:void(0)”) !==0 )

  1. xiaorsz Feb 9th, 2009 @ 18:20 | #1

    沙发!!为什么没用了,呵呵!!发现新大陆了!!?

  2. yinheli Feb 9th, 2009 @ 18:24 | #2

    @xiaorsz
    一个善变的人呐.. 貌似还有问题…. 我在改改

  3. Leeiio Feb 9th, 2009 @ 21:52 | #3

    說到底我也得學學js,不能老是jQuery…

  4. Leeiio Feb 9th, 2009 @ 22:02 | #4

    又在折騰新玩意了麼?被我看到錯誤代碼了~

  5. yinheli Feb 9th, 2009 @ 22:04 | #5

    @Leeiio
    呃…被你发现了…哈哈

  6. 多若网 Feb 9th, 2009 @ 22:15 | #6

    喔,这个比那框架小多了阿

  7. yinheli Feb 10th, 2009 @ 12:03 | #7

    @多若网
    框架有框架的好处.从Google加载也只有18k.

Submitting Comment, Give me a second...

Leave a comment

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackbacks & Pingbacks ( 0 )
  1. No trackbacks yet.