我爱黑客网首页 设为首页
加入收藏
联系我们
 首 页  技术文章 下载中心 站长学院 交流论坛
 软件:
 文章:        教程:
 推荐: 我爱黑客网论坛
 
 
 
 
   
黑软: Q Q 软件 木马间谍 探嗅监听 溢出攻击 加密解密 漏洞扫描 脚本注入 远程控制 综合利用 聊天工具  
 
技术文章: 爱黑新闻 | 黑客攻防 | 安全防御 | 程序设计 | 系统操作 | 网络技术 | 本站动态 | 业界动态 | 安全公告 | 病毒公告
 
 
您当前的位置:我爱黑客网 -> 黑客攻防 -> 技术杂谈 -> 文章内容  
栏目导航
· Q Q 攻防 · 黑客入门
· 攻防实战 · 安全初步
· 工具详解 · 黑客教程
· 漏洞研究 · 黑客编程
· 技术杂谈 · Exploit
热门文章
· 几种浏览器的JavaScri..
· 为什么网站设计标准化..
· 动态生成的下拉菜单
· 自适应图片大小的弹出..
· 纯JS实现的动态表格
· Javascript的IE和Fire..
· Ajax: A New Approach..
· 在Blog上追加了「牛啦..
· IIS5两种服务器端网页..
· JavaScript系列之防止..
· [JS小技巧] 简写docum..
· 纯字符模仿Longhorn/o..
相关文章

· 入侵BT服务器的记录..
· 入侵一个管理员设置..
· 你BT我更BT——记对..
· [组图] QQ2005Beta2无..
· [组图] 在QQ2005beta..
· 刷QQ群的VBS脚本
· 利用VBS脚本让QQ永远..
· [组图] 免费的WEB版Q..
· RSA 2008:基于Web入..
· QQ2005 Beta3新功能..
查看更多与_blank开新窗口不符合WC3标准?相关内容

_blank开新窗口不符合WC3标准?
作者:佚名  来源:不详  发布时间:2007-1-8 12:26:43  发布人:ghostfire

减小字体 增大字体


本文参考了以下文章:
     
  •  Kevin Yank的 《New-Window links in a Standards-Compliant World》  
         
  •   《Standards-based Replacement for target="_blank" in External links》

    我们要在新窗口中打开链接通常的做法是在链接后面加target="_blank",我们采用过渡型的DOCTYPE(xh tml1-transitional. dtd)时没有问题,但是当我们使用严格的DOCTYPE(xhtml1-strict.dtd)时,这个方法 将通不过W3C的校验,会出现如下错误提示:

    引 用 :
    "there is no attribute target for this element(in this HTML version)"


    原来在HTML4.01/XHTML1.0/XHTML1.1严格DOCTYPE下,target="_blank"、target="_self"等等语法都是 无效的,我们只能通过JavaScript来变通实现。

    有朋友问为什么不允许使用target="_blank"?这个属性很方便啊。呵呵,不知道W3C的专家们是怎么想 的,据我所知,主要是“易用性、友好性”的问题,因为老外觉得不经过用户同意,没有明确提示就打开一 个新窗口是不礼貌的。先不管这个取消是否合理,我们来看看解决办法。

    rel属性

    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才有效。

    完整的代码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>


    就是这样。

    最后补充一句,我网站采用的target="new"在过渡型DOCTYPE下是允许的,但也不符合strict标准。下次 改版时我将采用strict模式,将所有target="new"改成rel="external"。

    VIA: http://www.w3cn.org/article/tips/2005/107.html


    [Last Edited By KusTa @ 2006-04-08 02:21 AM]

    查看更多与_blank开新窗口不符合WC3标准?相关内容

  • [ ] [返回上一页] [打 印] [收 藏]
    上一篇文章:
    下一篇文章:
          CSS Hack浏览器兼容一览表       关于HTTP及XMLHTTP状态代码一览
    ∷相关文章评论∷   (评论内容只代表网友观点,与本站立场无关!) [发表评论]
     
      评论人:obvgbs   打分:80 分  发表时间:2008-6-1 14:06:37
    · a7gJtd<ahref="http://mrfyrpasuinx.com/">mrfyrpasuinx</a>,[ur...
     
     
     
    晋ICP备05008232   维护网络安全、传播安全技术才是我们的目标! 
     
    关于本站 - 网站帮助 - - 下载声明 - 友情连接 -网站地图