img标签src为空引发两次请求页面的问题
2015-03-25 10:34
2131 查看
最近一直在asp.net mvc下开发网站,今天碰到了很让人郁闷的问题。 我一个Controller里的 action在页面加载时被调用了2次。
起初怀疑JS问题,但屏蔽调JS后,问题依旧。没办法,把页面里的内容分别屏蔽的找了半天原 因,最终发现是因为 页面含有一个<img src="">。
<html>
<body>
...其他服务器端代码...
<img src="" />
...其他服务器端代码...
</body>
</html>
当调用这个页面的URL 的时候,会发现,网页被调用了2次。如果该访问该网页的URL 还带有参数,那么第一次调用有参数,第二次调用没有参数。
Google了下,发现具体原因是,在img 对象的src 属性是空字符串("")的时候,浏览器认为这是一个缺省值,值的内容为当前网页的路径。浏览器会用当前路径进行再一次载入,并把其内容作为图像的二进制内 容并试图显示。
对于不同的浏览器测试后,发现对于有无src 或者src 是否为空的情况,还不尽相同,测试结果如下表。
以后如果图片路径后来才赋值的,一定注意这个问题,不要加上src=""。
起初怀疑JS问题,但屏蔽调JS后,问题依旧。没办法,把页面里的内容分别屏蔽的找了半天原 因,最终发现是因为 页面含有一个<img src="">。
<html>
<body>
...其他服务器端代码...
<img src="" />
...其他服务器端代码...
</body>
</html>
当调用这个页面的URL 的时候,会发现,网页被调用了2次。如果该访问该网页的URL 还带有参数,那么第一次调用有参数,第二次调用没有参数。
Google了下,发现具体原因是,在img 对象的src 属性是空字符串("")的时候,浏览器认为这是一个缺省值,值的内容为当前网页的路径。浏览器会用当前路径进行再一次载入,并把其内容作为图像的二进制内 容并试图显示。
对于不同的浏览器测试后,发现对于有无src 或者src 是否为空的情况,还不尽相同,测试结果如下表。
代码 | Firefox | IE6 | IE7 |
<img src="" /> | 会重复载入 | 会重复载入 | 会重复载入 |
<img src /> | 会重复载入 | 正常 | 正常 |
<img /> | 正常 | 正常 | 正常 |
以后如果图片路径后来才赋值的,一定注意这个问题,不要加上src=""。
相关文章推荐
- img标签src为空引发两次请求页面的问题
- img标签src为空引发两次请求页面的问题
- img标签src=""和background-image:url();引发两次请求页面bug
- jsp页面img标签src路径问题
- 非IE浏览器 img标签 src值为空时,2次请求问题
- 非IE浏览器 img标签 src值为空时,2次请求问题
- img标签使用onload进行src更改时出现的内存溢出问题
- 超实用,解决img标签src绑定了正确地址后,图片有时候不显示问题
- uploadify 3.1 /3.2 在Firefox,Chrome 浏览器下,进入页面请求两次问题解决办法。
- a标签跳转页面会请求后台两次
- background-image:url为空引发的两次请求问题
- 浏览器刷新页面后向服务器发出两次请求的问题
- tomcat服务器下打不开img标签src的图片名为中文打不开的问题?
- html的img中使用SVG图片做SRC在本地测试可用但是上传服务器后不能显示问题解决 标签: SVGMIME TYPE不显示服务器设置 2016-05-21 13:49 2517人阅读 评论(0)
- ASP.NET页面重复加载的问题之<img src="#" />
- js改变img标签的src属性在IE下出问题的解决方法
- Java 获取前端页面代码段中img标签的src属性值,即获取图片Url
- <img>标签导致请求发送两次问题
- img标签src属性没变,改变起引用的图片,刷新页面仍然显示之前的图片
- img src="#"或者src="" 会发送请求的问题