是否可以在XHTML 1.1中验证target = _blank?

时间:2014-01-12 11:09:14

标签: validation xhtml new-window

我正在尝试使用XHTML验证我的网站,我已修复了很多错误,但有些错误让我感到烦恼。 target =“_ blank”的替代方法是在下面的代码中使用

    if($targetwindow==0){

        $openWindow='class="colorbox"';

    }elseif ($targetwindow==1){

        $openWindow='target=_self';     

    }else{

        $openWindow='target="_blank"';  

    }

echo '<a style="color:#555;" '.$openWindow.' href="'.$items["mylink"].'" '.($nofollow==1 ? 'rel="nofollow"':'').'>'.$items["mytitle"].'.....</a><br />';' 

我尝试在header.php中使用onclick="window.open(this.href, 'OffSite').focus(); return false;将facebook网址链接到新窗口,它就像魅力一样,但我无法在上面的代码中执行此操作。任何人都可以帮助我吗?或者也许相同的代码可以工作,但我不知道如何以适当的格式给它,因为我已经尝试过。我已经阅读了有关我的问题的相关主题,我也找到了答案,例如onclick="return !window.open(this.href)",但问题是放在哪里?我试过推,它让网站失败了。请帮助!

1 个答案:

答案 0 :(得分:0)

您想要的选项是使用这样的脚本:

    /*
 *  variables
*/
var object_links_list = document.getElementsByTagName("a");
var links_total = object_links_list.length;





/*
 *  listenners
*/
for ( n = 0; n < links_total; n++ ) {
    if ( "rel" in object_links_list[n] ) {
        if ( object_links_list[n].rel === "external" ) {
            if ( object_links_list[n].addEventListener ) {
                object_links_list[n].addEventListener( 'click', open_external_link, false );
            } else if ( object_links_list[n].attachEvent ) {
                object_links_list[n].attachEvent( 'click', open_external_link );
            }
        }
    }
}





/*
 *  Function to open links in a new window/tab
*/
function open_external_link() {
    window.open( this.href, '_blank' );
    this.setAttribute('href','');
    if ( this.stopPropagation ) {
        this.stopPropagation();
    } else {
        this.cancelBubble = true;
    }
    return false;
}

xhtml就是这样的。

    <a href="http://www.example.com/" title="your_title" rel="external">link text</a>