window.opener возвращает ошибку Cross Origin в Chrome - PullRequest
1 голос
/ 01 ноября 2019

Я уже разработал приложение для открытия всплывающего окна, используя приведенный ниже код,

var url = 'child.html';
var args = ['value'];
var options='height:150px;width:300px'
window.openModalDialog(url,args,options);

Я могу прочитать аргумент из openModalDialog, используя приведенный ниже код

var args = window.dialogArguments;
var arg = args[0];

Теперь я мигрирую приложение в Chrome. Согласно документу window.openModalDialog не поддерживается в Chrome. Итак, я планирую заменить его на window.open . Сейчас я сталкиваюсь с проблемой, когда пытаюсь получить аргумент. Потому что я не могу получить аргумент, используя window.dialogArguments . Я пытался с

window.opener and parent.window.opener

, чтобы получить аргумент. Возвращает ошибку Cross Origin. как я могу получить аргументы из window.open .?

1 Ответ

1 голос
/ 01 ноября 2019

С window.open вы должны сохранить открывающее устройство в переменную, а затем получить доступ к аргументам.

var url = 'child.html';
var args = ['value'];
var options='height:150px;width:300px'
let newWindow = window.open(url,args,options);

И аргументы будут внутри newWindow.location объекта.

ПРИМЕЧАНИЕ: Это НЕ БУДЕТ работать, если ваше окно открывается в другом домене, так как оно пытается нарушить политику безопасности под названием CORS .

...