#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
.