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>
这样也更利于搜索爬虫,当然,有利必有弊。
发表回复