我无法将我的解决方案传递给W3C有效。 我想通过这种方式为禁用JS的访问者显示替代网址:
<a href="javascript:void();"><noscript><a href="nojspage.html"></noscript>some anchor text</a>
它完美无瑕 - 一个弹出窗口&#39;对于启用了JS的访问者开放,所有其他人都被定向到html页面。
然而,由于a标签的非法嵌套,验证器在那时断开了。
所以我想使用一个锚文本(比这个例子长很多)有多个标签(一个调用JS,另一个调用常规链接)。由JS显示锚文本不是一个选项,因为我在导航菜单中有很多类似的链接。
我只是想知道如何解决这个问题。
答案 0 :(得分:0)
执行此操作的正确方法是使用渐进增强而不是noscript
。
从常规链接开始。然后将JS层放在最上面,如果JS成功,则停止跟踪链接。
<a href="nojspage.html">some anchor text</a>
<script>
function myJsFunction(evt) {
// Do something with JS
evt.preventDefault(); // Prevent the link from being followed
}
document.querySelector("a").addEventListener("click", myJsFunction);
</script>
答案 1 :(得分:-1)
你的noscript标签在标签关闭之前关闭,这就是验证者抱怨的原因