使用json src的img html标签会发生什么?

时间:2017-02-22 00:26:18

标签: html cors cross-domain

如果来自服务器的响应不是有效的img,比如说JSON,img html标记(<img src="address-to-server-action">)会发生什么。浏览器会抛出一个解析错误吗?所有浏览器都有相同的行为吗?隐藏img是否重要?

我实际上只是想从只提供JSON的跨域服务器中提取cookie。

2 个答案:

答案 0 :(得分:1)

如果您尝试使用<img src="http://example.com/some.json">之类的内容并希望从中获取JSON,那么浏览器不会让您失望。如果src值不是浏览器支持的有效图像,则不会显示它,也不会让您对响应做任何其他操作。

这就是浏览器的工作原理以及引用is documented in the HTML spec的行为the request algorithm in the Fetch spec,其中一个属性是请求mode

除非使用特定模式设置执行提取,否则将使用默认模式no-corsthe HTML spec algorithm for image requests未设置任何其他模式,因此它们为no-cors

no-cors请求的响应由浏览器处理为opaque filtered responses,这意味着您可以在网络应用中尝试使用任何客户端JavaScript代码,您将无法访问任何来自回应的信息/属性。

答案 1 :(得分:0)

浏览器将显示替代文字。浏览器可以通知用户图像未正确加载。

您可以隐藏图像(显示:无;),它不会显示。

您可以按http://www.ainixon.me/set-cookie-on-cross-domains/中的说明设置跨域Cookie。