我们要在新窗口中打开链接。通常的方法是在链接后面添加目标。 =”_blank”,当我们使用过渡性的DOCTYPE(xh tml1-transitional.dtd)时没有问题,但是当我们使用严格的DOCTYPE(xhtml1-strict.dtd)时,该方法会通过W3C验证失败,并会出现以下情况出现错误消息:
“此元素没有属性 target(在此 HTML 版本中)”
事实证明,在HTML4.01/XHTML1.0/XHTML1.1严格的DOCTYPE下,target="_blank"、target="_self"等语法是无效的,我们只能通过JavaScript来实现。
有朋友问为什么不允许使用target="_blank"?这个属性非常方便。哈哈,不知道W3C专家怎么看。据我所知,主要是关于“易用性和友好性”,因为外国人认为在没有用户同意或没有明确提示的情况下打开新窗口是不礼貌的。的。不管这个取消是否合理,我们来看看解决方案。
HTML4.0 添加了一个新属性:rel。该属性用于描述链接与包含该链接的页面之间的关系,以及链接的目标。 rel 有很多属性值,比如 next、previous、chapter、section 等。我们要使用的是 rel="external l" 属性。原来的代码是这样写的:
打开新窗口现在会这样写:
打开新窗口这是严格符合标准的方法。当然,它必须与javascript结合起来才有效。
完整代码JS如下:
function externallinks() {
if (!document.getElementsByTagName) return;
var 锚点 = document.getElementsByTagName(“a”);
for (var i=0; iyou可以保存为.js文件(如external.js),然后通过外部连接方法调用:
就是这样。
最后,我的网站使用的target="new"在过渡DOCTYPE下是允许的,但不符合严格的标准。下次修改时,我会使用严格模式,将所有 target="new" 更改为 rel="external"。
crm进销存源码下载、HP进入ubuntu按钮、tomcat类加载器简介、爬虫网络爬取系统、阿里云数据库升级php、seo tdklzw相关推荐
正品北京5032立式铣床(北京
如何测试rs232串口(如何测
谷歌nexus4,请输入搜索内
炒股新手需要了解哪些买卖技巧?
币安合约推出QTUM永续合约
高性能MySQL
PHP中常见的错误类型及其解决
如何使用PHP获取当月第几周(
7 个实用的 PHP 内置函数
设计公司网站优化方案怎么写
医院的网站怎么优化
如何修改文件格式后缀名,手机如
vs2013只能安装c【vs只
vs2022TODO高亮【vs
32768晶振产生1hz脉冲(
视频
阿里云centos7.2自行安
Centos7上使用yum安装
【原创】AM3352+TPS6
大数据驱动 全线进军线下
(附源码)springboo
朱松纯:AI需要由“心”驱动,
vs2010无法识别ture_
使用VPS实现动态IP拨号设置