我的MVC项目中有一个外部svg文件,如下所示:
<object id="demo" type="image/svg+xml" data="/Content/images/demo.svg" style="width: 100%; height: 100%; display:block; right:0; position:absolute "></object>
在FF,ME和Chrome中只有GET请求,但如果我在IE 11中打开我的项目,它会同时发出HEAD和GET请求。我无法找到如何避免。这是正常的吗?还是我有麻烦了?说麻烦,因为svg文件大小约为4.5 Mb。网络监视器看起来像:
File Protocol Method Type Transferred Cause
---------------------------------------------------------------
demo.svg HTTP/2 HEAD image/svg+xml 4.55 MB -
demo.svg HTTP/2 GET image/svg+xml 4.55 MB document
UPDATE-解决方法:
好吧,我找到了一个奇怪的方法。事实上,在尝试获取DOM元素时有点滞后,但仍然比每次访问下载额外4.5Mb更好,对吗?
我通过XMLHttpRequest
对象删除了对象元素,加载的svg文件,并使用responseText
(将整个svg文件作为文本返回)属性设置div的内容。在呼叫功能之前添加的加载图像不可避免地说:&#34;嘿,它会滞后一段时间,不用担心。&#34;
顺便说一句,我尝试使用Blob
对象为<object>
元素的数据属性创建网址,但它在<object>
的IE浏览器中不起作用。
我仍然想知道如何在IE中阻止HEAD请求。
答案 0 :(得分:0)
这是因为<object>
。请尝试使用<img>
:
<img src="/Content/images/demo.svg" style="width: 100%; height: 100%; display:block; right:0; position:absolute ">