Ошибка перекрестного происхождения с локального диска на локальный диск (только базовый HTML, не AJAX)

#html

#HTML

Вопрос:

У меня есть test.html и test.svg на моем локальном диске первая ссылка на вторую:

 <img src="test.svg" . . . 

<div style='-webkit-mask-image: url(test.svg) . . .
  

Когда я загружаю страницу <img> , часть загружается, <div> часть нет, и я получаю следующую ошибку:

 Access to image at 'file:///C:/Users/Cz/Desktop/test/test.svg' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, edge, https, chrome-untrusted.
  

Меня здесь смущает пара вещей:

  • HTML-страница находится на моем локальном диске, поэтому запрос доступа к другому (смежному) локальному файлу не должен быть проблемой CORS.
  • даже если это обнаружено как проблема, <img> часть все еще работает, что противоречит вышеупомянутой ошибке.

Итак, по сути, как я могу загрузить один файл на диск с другого? Желательно без необходимости настраивать сервер!

Ответ №1:

HTML-страница находится на моем локальном диске, поэтому запрос доступа к другому (смежному) локальному файлу не должен быть проблемой CORS.

Да, так и должно быть. Это сделано специально.

Представьте, что кто-то отправил вам HTML-документ в виде вложения электронной почты. Вы дважды щелкаете по нему, ваш почтовый клиент сохраняет его во временном расположении и открывает в вашем веб-браузере. Теперь он находится в том же источнике, что и все остальное на вашем диске.


даже если это обнаружено как проблема, <img> часть все еще работает, что противоречит вышеупомянутой ошибке.

Ошибка не связана с <img> . Это относится к -webkit-mask-image .