1

我们有一些由 JavaScript 制作的 href 链接:

<a href="javascript:document.location='http://'+location.hostname.replace('.com', '.co.uk')">stackoverflow uk</a>

我怎样才能提供这样的直接链接:

<a href="http://stackoverflow.co.uk/questions/ask"> stackoverflow uk</a>

当用户禁用javascript?我知道有标签:

<noscript><a href="http://stackoverflow.co.uk/questions/ask"> stackoverflow uk</a></noscript>

但随后用户将看到损坏的链接和正确的链接。如何从用户界面删除损坏的链接?

4

2 回答 2

3

从常规链接开始:

<a id="foo" href="http://example.com">example</a>

然后将一个 JavaScript 事件处理程序绑定到它:

var link = document.getElementById('foo'); // OR some other means to select the link
link.addEventListener('click', myHandler);

function myHandler(evt) {
    // Do whatever else you want to do
    // ...
    // but don't do the normal link behaviour
    evt.preventDefault();
}

进一步阅读:渐进式增强不显眼的 JavaScript

于 2013-05-27T15:55:32.317 回答
1

这是一些伪代码:

<a href="normalLink" onclick="javascript to create link and submit it; return false">text</a>

如您所见,它使用默认情况下要回退到的普通链接。当用户启用 JavaScript 时,该链接永远不会执行,因为 onclick 首先运行。return false 是为了防止真正的链接被触发。

于 2013-05-27T15:54:04.990 回答