как получить объект из window.open в window.opener в Chrome - PullRequest
0 голосов
/ 16 октября 2019

Привет, я не могу получить объект, который я прохожу через window.open

      var obj= new Object();
     var newpage= '';
    var urlaspx= "urlaspx.aspx?sid=1&frameWidth=" + frameWidth;

newpage= window.open(urlaspx, obj, 'center:yes; dialogWidth:400px; dialogHeight:430px; help:0; 
  status:0; scroll:0; resizable:1'); 

в моем urlaspx

<script type="text/javascript">
var obj= window.opener;
var name= obj.name;
var age= obj.age;
</script>

здесь объект obj пуст, пожалуйста, помогите мнена этом

1 Ответ

0 голосов
/ 16 октября 2019

Второй аргумент для window.open должен быть строкой для нового имени окна, а не объектом.

Я не думаю, что браузеры позволяют вам передавать данные из одного окна в другое. (см. developer.mozilla.org / en-US / docs / Web / API / Window / open) .

Если вы являетесь владельцем обеих страниц, вы можете добавить некоторые параметрына URL второй страницы для передачи данных из одного окна в другое (как вы уже делаете для frameWidth).

const urlaspw = "urlaspx.aspx?"
  + "sid=1"
  + "&frameWidth=" + frameWidth
  + "&name=" + obj.name
  + "&age=" + obj.age;
const newpage = window.open(urlaspx, obj, 'center:yes; dialogWidth:400px; dialogHeight:430px; help:0; status:0; scroll:0; resizable:1'); 
    var obj = {};
    var currentLocation = window.location.toString()
    // or
    var currentSearch = window.location.search

    var params = currentSearch
      .split('?')[1]
      .split('&')
      .forEach(param => {
          obj[param.split('=')[0]] = param.split('=')[1]
       })
    var name = obj.name;
    var age = obj.age;
...