Устранение заблокированного фрейма с нулевым источником из-за доступа к ошибке фрейма из разных источников
31 мая 2022 г.Ошибка ** «заблокировала фрейм с нулевым источником» для доступа к кадру из другого источника ** из-за запроса ``
Cross-originn` ``. Чтобы устранить эту ошибку, у вас есть ряд решений, таких как использование «локального веб-сервера» или использование браузера с отключенной междоменной веб-безопасностью, несколько решений для чисел.
В этой статье будут обсуждаться все решения для решения проблем с разными источниками.
Что делает * "*Фрейм с источником "null" заблокирован от доступа к фрейму из другого источника" Значение ошибки
В Google Chrome есть функция безопасности, которая блокирует доступ фрейма с исходным кодом к фрейму из другого источника.
Если вы видите сообщение об ошибке «Заблокирован фрейм с источником от доступа к фрейму из другого источника», это означает, что эта функция безопасности предотвращает загрузку контента.
Почему «заблокировал фрейм с источником «null» от доступа к фрейму из другого источника»
Это может произойти, когда вы пытаетесь показать материал с другого веб-сайта самостоятельно. Это называется перекрестным запросом.
Таким образом, доступ к <frames>
напрямую из вашего браузера без использования веб-службы не разрешен по соображениям безопасности, если бы вы могли это сделать, это было бы серьезной уязвимостью в системе безопасности.
Следующее сообщение об ошибке, которое вы получаете:
```javascript
DOMException: заблокирован фрейм с нулевым источником от доступа к фрейму из другого источника. ошибка.
Как устранить «заблокировал фрейм с источником «null» для доступа к фрейму из другого источника»
Решение 1:
Разместите свою веб-страницу на локальном веб-сервере или используйте другой браузер, например Firefox.
Решение 2: междоменная политика отключена
Запустите браузер с отключенной политикой [междоменной веб-безопасности/того же происхождения] (https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome).
:::предупреждение
Отключение политики того же источника чрезвычайно рискованно, и никогда не следует пытаться делать это, если вы не уверены в том, что делаете.
Решение 3. Расширения, такие как «xampp» или «Live Server»
Вы можете решить эту проблему, установив xampp и переместив все файлы в htdocs или используя расширение, такое как «Xampp».
Решение 4: метод window.postMessage()
Помните, что политика одного и того же источника запрещает сценариям доступ к содержимому сайтов с разными источниками, и вы можете безопасно включить связь между источниками между объектами Window с помощью window.postMessage()
.
`postMessage(сообщение, targetOrigin)``postMessage(сообщение, targetOrigin, [перевод])`
:::Информация
Браузеры, которые следуют политике одного источника, не позволяют скриптам обращаться к фреймам с разными origins.html.
Вывод:
Имейте в виду, что отключение политики одного и того же источника (CORS) повлияет только на ваш браузер. Кроме того, отключение настроек безопасности с одинаковым источником в браузере позволяет любому веб-сайту получать доступ к ресурсам из разных источников, что чрезвычайно рискованно и должно выполняться только в целях разработки. Только window.postMessage()
теперь является лучшим способом взаимодействия между фреймами/iframe.
Оригинал