您好我正在构建一个应该主要由Ajax提供支持的应用程序。它有一个基于Ajax的导航,当一个人点击一个链接时,他会在相邻的div中显示一些数据。我这样做是通过停止JavaScript函数中的默认操作和执行xhrGET
但问题是,如果用户禁用JavaScript,他将能够单击该链接并将其传输到链接指向的页面。现在,这可以通过检查它是否是一个Ajax请求来管理服务器端并且做必要的......但我需要做的是在JavaScript已经使这些链接无法导航(如果这是正确的术语)禁用。
我该怎么办
答案 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被禁用而无法执行,那么它们基本上会中性化。