Что произойдет, если вы попробуете что-то вроде <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, который вы можете попробовать в своем веб-приложении, вы не сможете получить доступ к какой-либо информации/свойствам из ответа.
Даже думал, что браузер не позволит мне получить доступ к ответу, файл cookie все еще установлен браузером, так что это именно то, что мне нужно. Знаете ли вы, есть ли какой-либо стандарт, обеспечивающий настройку cookie? и еще один вопрос, я пробовал 3 разных браузера, и все они не отображают ошибку, когда синтаксический анализ изображения не просто создает место вместо изображения (что отлично); Знаете ли вы, есть ли какой-либо стандарт для этого? – AMT
Что касается требований браузера при нарушении изображения, см. Https://html.spec.whatwg.org/#updating-the-image-data:img-error-7, в котором говорится, что событие с именем 'error' получает стреляли по элементу 'img'. Спецификация не указывает требования для того, что браузеры должны делать для элемента 'img', который получает событие' error' (хотя ваш код приложения может установить прослушиватель событий, который что-то с ним делает), но в https: // html. spec.whatwg.org/#the-img-element:attr-img-alt-3 в спецификации есть некоторые «Пользовательские агенты могут предоставить пользователю ...» случаи, когда это происходит, когда изображение нарушается. Никто из них не говорит, чтобы показать пользователю ошибку – sideshowbarker