如果來自服務器的響應不是有效的img,比如說JSON,那麼img html標記(<img src="address-to-server-action">
)會發生什麼情況。瀏覽器會拋出解析錯誤嗎?所有瀏覽器都有相同的行爲嗎? img是隱藏的嗎?帶有json src的img html標籤會發生什麼變化?
實際上,我只是想從僅用JSON跨域服務器帶來的cookie。
如果來自服務器的響應不是有效的img,比如說JSON,那麼img html標記(<img src="address-to-server-action">
)會發生什麼情況。瀏覽器會拋出解析錯誤嗎?所有瀏覽器都有相同的行爲嗎? img是隱藏的嗎?帶有json src的img html標籤會發生什麼變化?
實際上,我只是想從僅用JSON跨域服務器帶來的cookie。
如果你從它嘗試像<img src="http://example.com/some.json">
,並想JSON回來會發生什麼情況是,瀏覽器不會放過你的。如果src
值不是瀏覽器支持的有效圖像,則它不會顯示它,也不會讓您對響應進行任何其他操作。
這就是瀏覽器是如何工作和行爲is documented in the HTML spec,它引用the request algorithm in the Fetch spec,一個屬性,它是請求mode。
除非取與特定的模式集合執行,則默認模式no-cors
被使用。並且the HTML spec algorithm for image requests不設置任何其他模式,因此它們是no-cors
。
對no-cors
請求的響應由瀏覽器處理爲opaque filtered responses,這意味着從任何客戶端JavaScript代碼中您可能會嘗試在您的Web應用程序中,您將無法訪問響應中的任何信息/屬性。
瀏覽器將顯示備選文本。瀏覽器可能會通知用戶圖像未正確加載。
您可以隱藏圖像(顯示:無;),它會顯示不出來。
爲http://www.ainixon.me/set-cookie-on-cross-domains/描述您可以設置交叉域的Cookie。
即使認爲瀏覽器不會讓我訪問響應,cookie仍然由瀏覽器設置,所以這正是我所需要的。你知道是否有任何標準可以確保cookie被設置?還有一個問題,我嘗試了3種不同的瀏覽器,當圖片解析失敗時,所有這些瀏覽器都不顯示錯誤,只是佔位符而不是圖片(這太棒了);你知道這是否有任何標準? – AMT
只要瀏覽器要求圖片損壞,請參閱https://html.spec.whatwg.org/#updating-the-image-data:img-error-7,其中說明了一個名爲「error」的事件獲取向'img'元素髮射。該規範沒有規定什麼瀏覽器必須爲接收'error'事件的img'元素(儘管你的應用程序代碼可以設置一個事件監聽器來處理它)但是在https:// html處做這些要求。 spec.whatwg.org/#the-img-element:attr-img-alt-3該規範有一些「用戶代理可能提供用戶...」的情況下,當圖像被破壞時會發生什麼。沒有人說向用戶顯示錯誤 – sideshowbarker