window.open跳转携带对象
时间: 2023-08-31 09:58:43 浏览: 147
你可以使用`window.open`方法来打开一个新的浏览器窗口,并在URL中携带对象。具体的操作步骤如下:
1. 首先,你需要创建一个URL,将对象转换为字符串并编码。你可以使用`JSON.stringify`方法将对象转换为字符串,然后使用`encodeURIComponent`方法进行编码。
```javascript
var myObject = { name: "John", age: 30 };
var encodedObject = encodeURIComponent(JSON.stringify(myObject));
```
2. 接下来,你可以使用`window.open`方法打开一个新的窗口,并将编码后的对象作为URL的一部分传递进去。
```javascript
window.open("http://example.com?data=" + encodedObject);
```
3. 在新窗口中,你可以通过解析URL来获取传递的对象。首先,你需要获取URL中的查询参数,然后使用`decodeURIComponent`方法进行解码,并最后使用`JSON.parse`方法将字符串转换回对象。
```javascript
var urlParams = new URLSearchParams(window.location.search);
var encodedObject = urlParams.get("data");
var decodedObject = JSON.parse(decodeURIComponent(encodedObject));
```
这样,你就可以在两个窗口之间传递对象数据了。请注意,这种方法只适用于在同一域名下的不同窗口之间进行通信。如果你需要在不同域名之间传递对象,你可能需要考虑其他的解决方案,例如使用postMessage API或使用服务器端来进行数据传递。
阅读全文