Ошибка DOMException: Blocked a frame with origin "http://127.0.0.1:5500" from accessing a cross-origin frame означает, что вы не можете получить доступ к содержимому iframe на другом домене или порте из-за политики same-origin. Это ограничение сделано из соображений безопасности, чтобы предотвратить доступ к содержимому других сайтов без их разрешения.
Однако, вы можете использовать метод postMessage для обмена данными между страницей, содержащей iframe, и самим iframe. Последующие шаги показывают, как это можно сделать:
1. В странице, содержащей iframe, добавьте обработчик события на сообщения, отправленные из iframe:
```javascript
window.addEventListener('message', function(event) {
// Обрабатывайте полученные сообщения здесь
console.log(event.data);
});
```
2. В iframe, отправьте сообщение на страницу, содержащую iframe, используя метод `postMessage`:
```javascript
// Получение ссылки на родительское окно
var parentWindow = window.parent;
// Отправка сообщения на родительскую страницу
parentWindow.postMessage('Привет от iframe', 'http://domain.com');
```
В методе `window.postMessage`, первый параметр - это сообщение, которое вы хотите отправить, а второй параметр - это домен родительской страницы. Если вы не хотите указывать домен явно, вы можете использовать знак '*', чтобы разрешить сообщения из любого домена.
3. В странице, содержащей iframe, вы можете проверить источник сообщения и обработать его в соответствии с этим:
```javascript
window.addEventListener('message', function(event) {
// Проверка источника сообщения
if (event.origin === 'http://domain.com') {
// Обрабатывайте полученные сообщения здесь
console.log(event.data);
}
});
```
Таким образом, вы можете обмениваться данными между страницей, содержащей iframe, и самим iframe с помощью метода postMessage, даже если они находятся на разных доменах.