js本地图片预览,ie兼容模式在 dl dt dd 中无法显示图片

亮术网 2020-06-18 本网原创

网站上传图片是必不可少的功能,每上传一张图片要在客户端显示给上传用户看,一般直接用上传图片后生成的路径显示图片;但为了防止个别用户上传违法图片,图片通常审核后才显示,直接用路径显示图片就把访问图片的网址告诉了上传用户,根据这个网址就能直接打开图片,不管是否审核,所以存在一定的风险。或许你会说,把图片上传到一个临时文件夹,待用户上传完成后,把这些图片移到另一个文件夹,这样在审核前就无法访问了;当然,这也是一个办法,就是处理太麻烦,并且频繁操作硬盘不太好。

如果用 javascript 来预览图片,直接显示客户端所选择的上传图片给用户,也就用js本地预览图片,那不是不用操作服务器, 既节省服务器资源又减少对硬盘的操作,还不用下载上传的图片到客户端节省服务器流量,何乐而不为。

 

一、js本地图片预览,ie兼容模式在 dl dt dd 中无法显示图片

用 javascript 预览本地图片,有一个奇怪的现象,就是在 ie 浏览器(ie11)的兼容模式中,在 dl dt dd 标签中无法显示图片,具体 html 代码如下:

<dl><dt>上传图片:</dt><dd><ul><li><img src="上传图片本地路径" /></li></ul></dd></dl>

如果取消兼容模式,又能正常显示。

 

二、解决办法(js本地图片预览,ie兼容模式在 dl dt dd 中无法显示图片)

只要把<ul><li><img src="上传图片本地路径" /><li><ul>(仅图片标签也行)放到 <dl></dl> 标签之外就能正常显示,即:

<dl><dt></dt><dd></dd></dl>
  <div>上传图片:</div><ul><li><img src="上传图片本地路径" /></li></ul>