现在一般网站打开新窗口采用的是target="_blank",这在过渡型DOCTYPE(xh tml1-transitional. dtd)下是允许的,但也不符合W3C的strict(xhtml1-strict.dtd)标准。
如果你去验证,会发现有下面的错误提示:
"there is no attribute target for this element(in this HTML version)"
这是因为W3C认为如果不经过用户同意,没有明确提示就打开一个新窗口是不礼貌的。所以我们只好用下面的rel属性来解决这个问题。rel是HTML4.0新增加的一个属性,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目标。rel有许多的属性值,比如next、previous,、chapter、section等等。
我们用rel属性的external和一个js脚本来解决问题,代码如下:
<a href=”http://www.kepu8.com“ rel="external"> 打开一个新窗口</a>
  • 大量古细菌在海底被发现
  • 英开发致命超级病菌-绿脓杆菌早期检测技术
  • 无需 DNA 细菌也变身
  • 小袋鼠育儿袋内吃奶照片
  • 大白鲨类似连环杀手-捕食方式揭秘
  • 蚂蚁长寿差异之谜:蚁后更长寿的秘诀在于多睡觉
  • 张启发院士:培育绿色超级稻可缓解农业生态问题
  • 广西反季节龙眼新品种挂果枝率达98%以上
  • 日本专家从柚子皮中提取出能抑制过敏的物质
  • 水稻精确定量栽培技术实现新突破
我们把js文件存储为external.js,然后通过<script type="text/javascript" src="external.js"></script>调用
下面是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;

转载于:https://www.cnblogs.com/itpob/archive/2009/07/19/1526700.html

符合w3c 的 strict标准,用 rel 替换_blank打开新窗口相关推荐

  1. _blank开新窗口不符合标准?

    本文参考了以下文章: Kevin Yank的<New-Window links in a Standards-Compliant World> <Standards-based Re ...

  2. 符合W3C标准的target=_blank形式

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> web标准取消了targ ...

  3. HTML系列(一)、W3C联盟指定标准及HTML骨架

    1 软件架构: C/S:客户端(需要下载.更新)-- 服务器 B/S:浏览器(无需下载)-- 服务器 全栈工程师: 前端:html.css.js(框架) 后端:Java 1.1 浏览器: 谷歌.Edg ...

  4. 如何让您的网站符合W3C标准

    转自:http://一杯白开水w.iteye.com/blog/1122618 什么是W3C标准      作为网站技术开发人员而言,往往是站在自己的开发角度来实施网站布署(读取数据及开发的方便性等等 ...

  5. XML Schema全接触 (这里主要介绍W3C的Schema标准语法)

    来源:http://bbs.w3china.org/dispbbs.asp?BoardID=23&ID=27215&ReplyID=22178&skin=1 XML Schem ...

  6. c语言kbhit函数头文件,有没有办法在标准C中替换kbhit()和getch()函数?

    我试图用控制台获得快速时间事件类型的交互,并设法使用conio库获取它.可悲的是,我正在开发的这个项目需要在Windows和Linux上编译代码,我无法找到一种方法来改变它.有没有办法在标准C中替换k ...

  7. WRAP验厂咨询,WRAP认证证书是受到广泛认可的符合社会和道德标准的象征

    WRAP 与工厂 社会责任不再是服装业买家和品牌担心的次要问题.对于服装业而言,验证并确保供应链的可追溯性和可见性至关重要.WRAP 通过认证与培训计划,帮助生产企业将进行负责任生产实践的承诺传达给他 ...

  8. 让小语种用户上网更轻松 阿里助力W3C扩展Web标准

    "东南亚地区使用泰语.越南语.马来语等的网友曾反馈称,上网时会遇到网页信息与原意相差甚远的情况",阿里巴巴集团标准化部总监朱红儒意识到,这一部分语言文字在不同的浏览器上出现展示不同 ...

  9. vscode老编译之前的文件_vscode 打开新文件不替换旧文件

    设置 "workbench.editor.enablePreview": false- 主要是模仿robocopy的部分功能 (robocopy /L 参数可以列出本地目录和备份目 ...

最新文章

  1. 985硕士毕业进京东,抱怨身边全是二本和大专生!没什么本事却整天高高在上!打交道太累了!...
  2. OAuth的机制原理讲解及开发流程
  3. 访问控制允许原始多个域?
  4. 一个简单视频网站开发小记
  5. atitit.ajax bp dwr 3.的注解方式配置使用流程总结.....
  6. UA MATH636 信息论5 信道编码定理的证明
  7. 一篇文章助你了解机器学习
  8. vim之格式化代码功能——gg=G
  9. 55. Jump Game
  10. java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...
  11. 聊天系统服务器端类图怎么画,聊天系统服务器端类图
  12. osgb转obj工具_在ArcGIS Pro中OSGB数据转换及发布服务流程
  13. jenkins插件开发
  14. 如何配置Sql Server 2005之ODBC数据源连接
  15. ZBrush建模的15个小技巧,萌新小白都用得上的干货,速看
  16. ckplayer html5直播rtmp,实现简单网页rtmp直播:nginx+ckplayer+linux
  17. Arduino和SX1278的那些事
  18. macos 终端下载_如何使用终端下载macOS更新
  19. 支付宝 收款通知 mysql_基于支付宝微信通知的一种个人收款回调方案(转)
  20. 狂奔的“智慧校园”:监控学生的生意,会持续吗?

热门文章

  1. Ajax跨域请求时出现Access to XMLHttpRequest at ‘xxx‘ from origin ‘xxx‘ has been been blocked by CORS policy
  2. 医院业务系统设计(四) --- 患者管理之分诊系统
  3. rabbitmq-plugins enable rabbitmq_web_stomp
  4. 基于QT的网络视频会议系统---KNVM
  5. 随机过程 更新过程(下)
  6. iMeta视频教程 | 代谢物溯源/微生物组与代谢组整合分析软件MetOrigin
  7. 介绍一个可以用鼠标在电脑上进行书写的软件
  8. 工业物联网中的无线充电
  9. 互联网晚报 | 06月21日 星期二 | iPhone14或提高全系售价;腾讯控股出售新东方在线7460万股;​乐高8月涨价...
  10. Android冷知识(2)常驻服务