嗨,我无法获取我正在通过窗口传递的对象。
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');
在我的网址中
<script type="text/javascript">
var obj= window.opener;
var name= obj.name;
var age= obj.age;
</script>
此处 obj 对象为空 请帮我解决这个问题
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;