Im используя этот код, чтобы продемонстрировать концепцию на тех же доменах:Отправка информации для родителей, когда всплывающее окно закрывается, междоменное
Родитель:
<html>
<body>
<form>
<input id="details" name="details">
<input type="button" name="choice" onClick="window.open('http://domainB.com/popuppage.html','popuppage','width=850,toolbar=1,resizable=1,scrollbars=yes,height=700,top=100,left=100');" value="Open popup">
</form>
</body>
</html>
И всплывающий файл:
<html>
<head>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function sendValue (s){
var selvalue = s.value;
window.opener.document.getElementById('details').value = selvalue;
window.close();
}
// End -->
</script>
<form name="selectform">
<input name="details" value="">
<input type=button value="Copy input to parent opener" onClick="sendValue(this.form.details);">
</form>
</body>
</html>
Это отлично работает, но поскольку всплывающее окно делает модификацию содержимого родительской страницы window.opener.document.getElementById('details').value = selvalue;
, это не будет работать на примере crossdomain из соображений безопасности. Я не хочу изменять контент для родителя, я просто хочу передать значение родительскому скрипту, поэтому мне нужен сценарий прослушивателя для родителя, который будет посещать информацию, отправленную из всплывающего окна. Это возможно? альтернативы?
Почему ваш выбор на другом домене? Вы не можете сделать одну и ту же страницу в одном домене? – Joseph
Я не могу, это должен быть кросс-домен – DomingoSL
Это может быть выбор: https://developer.mozilla.org/en-US/docs/DOM/window.postMessage – Passerby