随笔 · 2012/02/08 0

弱化JavaScript

JavaScript可以让页面操作更自然,感觉更好用。虽然大多数用户都开启了浏览器对JavaScript的支持,但这并不排除那些为了安全问题而禁用JavaScript导致一些操作无法完成。

看下面一段代码,如果启用了JavaScript则可以正常工作,否则失效:

<a href="#" onclick="processAjax(’myfile.html’)">我的Ajax链接</a>

问题是,如果processAjax函数执行失效,则什么都不会发生。而且搜索引擎只能找到字符‘#’。而下面的也不行

<a href="javascript:processAjax(’myfile.html’)">我的Ajax链接</a>

如果启用了JavaScript它是可以正常工作的,它通过JavaScipt协议调用prcessAjax函数。同上,搜索引擎和禁用JavaScript的人都无法进入次链接。

因此为解决这个问题,要对这两种情况为浏览器指定相应的操作,如果启用了JavaScript则执行return false语句,取消链接常规操作。如下:

<a href="myfile.html" onclick="processAjax(’myfile.html’);return false;">我的Ajax链接</a>

原理很简单,当单击链接时马上调用processAjax函数。如果启用了JavaScript将返回false,这样就取消了click操作,否则就执行链接跳转。再次整理一下上面的代码:

<a href="myfile.html" onclick="processAjax(this.href);return false;">我的Ajax链接</a>

这样也更利于搜索爬虫,当然,有利必有弊。

0
希望看到您的想法,请您发表评论x