window.open跳转携带对象
时间: 2023-08-31 21:58:43 浏览: 165
要使用`window.open`方法在新窗口中跳转并携带对象,你可以将对象转换为JSON字符串,然后将其作为参数传递给`window.open`方法。在新窗口中,你可以解析JSON字符串以获取对象。
下面是一个示例代码:
```javascript
// 假设要传递的对象是一个包含 name 和 age 属性的对象
var obj = { name: "John", age: 25 };
// 将对象转换为JSON字符串
var jsonStr = JSON.stringify(obj);
// 使用window.open在新窗口中打开页面并传递JSON字符串作为参数
var newWindow = window.open("https://example.com?data=" + encodeURIComponent(jsonStr));
// 在新窗口中获取传递的参数并解析为对象
var receivedData = JSON.parse(decodeURIComponent(newWindow.location.search.substring(6)));
console.log(receivedData); // 输出 { name: "John", age: 25 }
```
在上面的代码中,我们首先将要传递的对象`obj`转换为JSON字符串`jsonStr`。然后,我们使用`window.open`方法打开新窗口并将JSON字符串作为参数传递给URL。在新窗口中,我们解析URL中的参数,并将其转换回对象`receivedData`。最后,我们可以在新窗口中使用`receivedData`对象。
请注意,由于URL的长度限制,如果要传递的对象非常大,可能会导致URL过长而无法正常工作。在这种情况下,你可以考虑使用其他方法,如使用服务器端存储来传递对象数据。
阅读全文