禁用Ajax应用程序中的链接

时间:2010-11-12 11:28:29

标签: javascript ajax

您好我正在构建一个应该主要由Ajax提供支持的应用程序。它有一个基于Ajax的导航,当一个人点击一个链接时,他会在相邻的div中显示一些数据。我这样做是通过停止JavaScript函数中的默认操作和执行xhrGET

但问题是,如果用户禁用JavaScript,他将能够单击该链接并将其传输到链接指向的页面。现在,这可以通过检查它是否是一个Ajax请求来管理服务器端并且做必要的......但我需要做的是在JavaScript已经使这些链接无法导航(如果这是正确的术语)禁用。

我该怎么办

3 个答案:

答案 0 :(得分:2)

理想情况下,你应该构建你的应用程序,以便它可以在有和没有javascript的情况下工作。但是如果你不想这样做那么你必须在普通的html中使链接无法使用。

或许替换

<a href='link'></a>

<a href='#' data-link='link'></a>

当您的网页加载时,使用javascript来修复链接。

正如已经说过的那样,您可能还应该在页面上显示一条错误消息,以便关闭javascript的访问者知道该页面无效的原因。

答案 1 :(得分:1)

您应该使用javascript加载页面(带链接),并在某些<NOSCRIPT>标记中显示错误而不是页面

答案 2 :(得分:1)

在您的超链接的href属性中添加空fragment identifier

<a href="#" onclick="ajaxLoad('foo'); return false;">Link text</a>

如果他们的onclick处理程序因为Javascript被禁用而无法执行,那么它们基本上会中性化。