Ошибка при изменении input дочернего окна
Здравствуйте!
Пытаюсь изменить input дочернего окна путём: function add(){ var win_add = window.open("add.html","Добавить", paramsPopup); win_add.getElementById('name').innerHTML = 'Check'; }; Собственно выдаёт ошибку: Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame. Прочитал, что это из-за протокола file (запускаю локально). Можно ли это как-то обойти, не ставя на хост. Либо, есть ли какой-нибудь другой способ изменения input'ов? |
всплывающее окно заблокировано браузером, что ты с инпут делаешь, извращения какие-то )))? Долго искал ))), так и не нашел...
|
Извращенец, да, это про меня)))) Спасибо, но почему окно то само открывается, если заблокированы всплывающие окна?))
P.S.: Проверил, окна всплывающие разрешены. |
Да, это не само всплывающее окно блокируется, видимо пытаешься получить доступ с одного хоста на другой, выложи полностью все связанные файлы
|
К сожалению, сейчас нет возможности, но суть такова:
Есть страничка, на ней есть кнопка, клик по этой кнопки открывает попап окно в которой есть input, вот при попытке изменить значение в input путем: win_add.onload = function(){ win_add.document.getElementById('nameDD').value = 'Check'; } Выскакивает ошибка. Установил PhpShtorm и попробовал запустить через него - всё работает (там протокол localhost) |
file и localhost это не протоколы. file это локальный адрес к файлу, а localhost это домен локального сервера, доступ к которому происходит по http протоколу, из-за политки безопасности js, доступ к файлам с разных доменов запрещен. Вот и не работало, file это не домен.
|
Спасибо. И всё равно не пойму, почему так. И есть ли другие пути решения этой проблемы?
|
поставь локальный сервер и с него запускай
|
Да, я это понял. Вопрос в том, что без этого я никак не изменю инпут, т.е. каким-либо другим способом?
|
KolaKola,
Можно просто изменить исходный текст в add.html |
Часовой пояс GMT +3, время: 11:26. |