本人在jsp页面实现查看图片的功能,在谷歌浏览器下能正常访问,而在360和火狐浏览器下会出现不同的问题。首先,说明下360和火狐浏览器出现的问题,360浏览器直接无法查看图片,但是根据相对路径解析的路径是对的;火狐浏览器有图片出来,但是出现跳闪的情况。在仔细检查代码后,经过尝试,还是解决了这个问题,下面拿出来跟大家分享吧!好了,废话少说,下面说问题。
谷歌之所以可以,是因为其兼容性比较好。下面看我写的代码<a id="beginpoundpath" href="javascirpt:void(0)" style="color:green">查看图片</a> ,在这段代码中我用了href 属性,href属性是默认情况下链接执行的动作。js代码原来写的是这样的
$("#beginpoundpath").click(function(){
$("#showimage").attr("src",$(":input[name='beginpoundpath']").attr("value")+ "?temp=" + Math.random());
$("#showimagedialog").dialog('open');
});
这样的话就会出现上述情况。两种解决办法:
1.将 href 属性去掉 ,但是加上上面这个属性会使超链接那里出现小手比较美观,去掉之后是一条下滑横线,可以正常实现功能。2.在执行打开显示图片对话框之后加一句return false;语句,这样的话浏览器就不会默认去执行 href 属性的操作。也就不会出现火狐的跳闪和360浏览器无法显示的情况。
下面顺带说一下关于js中 return 的作用:
return true; 返回正确的处理结果,
return false; 返回错误处理结果,终止处理,如果是表单的话阻止提交表单,
return; 将控制权返还给页面。
我猜测,火狐和360是执行了return操作。