嗨,我无法获得我正在通过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对象为null请帮助我
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 params = window.location
.toString()
.split('?')[1]
.split('&')
.forEach(param => {
obj[param.split('=')[0]] = param.split('=')[1]
})
var name = obj.name;
var age = obj.age;