首页 - 新闻 - _blank 打开新窗口不符合标准?_CSS/HTML

_blank 打开新窗口不符合标准?_CSS/HTML

2023-10-01 09:52
web前端|css教程
_blank打开时不符合标准一个新窗口?
Web前端-css教程
本文参考了以下文章:

静安代理源码,ubuntu远程登录ip,自动办公爬虫,php strstr,loli seolzw
Kevin Yank的《New-Window links in a Standards-Compliant World》
《Standards-based Replacement for target=”_blank” in External links》

我们要在新窗口中打开链接。通常的方法是在链接后面添加目标。 =”_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专家怎么看。据我所知,主要是关于“易用性和友好性”,因为外国人认为在没有用户同意或没有明确提示的情况下打开新窗口是不礼貌的。的。不管这个取消是否合理,我们来看看解决方案。

rel 属性


HTML4.0 添加了一个新属性:rel。该属性用于描述链接与包含该链接的页面之间的关系,以及链接的目标。 rel 有很多属性值,比如 next、previous、chapter、section 等。我们要使用的是 rel="external l" 属性。原来的代码是这样写的:

打开新窗口

现在会这样写:

打开新窗口

这是严格符合标准的方法。当然,它必须与javascript结合起来才有效。

javascript


完整代码JS如下:

function externallinks() {
if (!document.getElementsByTagName) return;
var 锚点 = document.getElementsByTagName(“a”);
for (var i=0; i

you可以保存为.js文件(如external.js),然后通过外部连接方法调用:

就是这样。

最后,我的网站使用的target="new"在过渡DOCTYPE下是允许的,但不符合严格的标准。下次修改时,我会使用严格模式,将所有 target="new" 更改为 rel="external"。

crm进销存源码下载、HP进入ubuntu按钮、tomcat类加载器简介、爬虫网络爬取系统、阿里云数据库升级php、seo tdklzw