65.9K
CodeProject 正在变化。 阅读更多。
Home

AJAX 可访问链接

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.71/5 (5投票s)

2006 年 11 月 15 日

1分钟阅读

viewsIcon

29353

downloadIcon

140

一个 JavaScript 小技巧,可以在同一个 HTML 链接上实现 JavaScript 调用,或者为禁用 JavaScript 工具的新标签页/新窗口/经典导航。

引言

你想创建一个基于 AJAX 的导航网站,只刷新显示正确内容的更改吗?太棒了!这将带来一个非常响应迅速的网站。

<a href="javascript:LoadPage1()">page1</a>
a link calling a javascript method to ajaxify your page

问题 1:如果用户禁用了 JavaScript,这种方法会阻止他们浏览你的网站。

问题 2:它也阻止用户在新窗口或新标签页中打开此链接:'(

“AJAX 化且可访问的链接”的理念

我将向你提供一个非常小且简单的链接方法实现,它

  • 允许用户在链接上通过简单的**单击使用 AJAX**
  • 当用户在浏览器中禁用 JavaScript 时,进行经典导航(使用 href
  • 如果用户想在**新标签页或新窗口**中打开链接,则进行经典导航

我选择以下实现来决定是否使用经典导航,如果用户使用

  • 鼠标中键单击
  • 按下 CTRL 键
  • 按下 SHIFT 键

在你的网站设计中,你必须通过链接使你的所有页面都可以访问,并在服务器上呈现页面的正确状态。

实现

我在上面的下载文件中包含了一个 JavaScript SmartLink 函数。要使用它,你必须像这样编写你的链接

<a id="SmartLink1" href="https://codeproject.org.cn" 
       onmousedown="SmartLink(event, this, 'MyAjaxLink1()');">
  my smart link 1
</a>

如果 JavaScript 被禁用,或者用于新窗口/新标签页,则将使用 href 属性,
MyAjaxLink1()’ 将是用于 AJAX 化链接功能的 JavaScript 调用。

结论

这种方法需要更完善的打包,但它将为你提供一个解决方案,同时创建一个禁用 JavaScript 兼容的网站和一个很酷的 AJAX 网站,而不会破坏用户友好的选项,例如新标签页/新窗口浏览。

© . All rights reserved.