如何将变量值从一个页面发送到另一个页面

时间:2016-12-09 09:25:27

标签: javascript


我试图通过javascript文件将信息从一个页面发送到另一个页面 该信息仅包含单个变量的值。
如何实现这一点?
我不想通过查询字符串发送它,因为该值将在URL中可见 还有其他办法吗?

3 个答案:

答案 0 :(得分:2)

您可以将数据保存在LocalStorage中,然后在另一页上检索。

localStorage.yourData = '{ test:"data" }';

console.log(localStorage['yourData']);

答案 1 :(得分:0)

你有几个选择。

根据使用的浏览器,使用localStorage是一个选项

//localStorage ONLY stores flat key:value pairs and can't contain Objects
localStorage.myString = "hello world";
localStorage.myObject = JSON.stringify({ foo: "bar" });

//Reading back the values is simple aswell
var myString = localStorage.myString;
var myObject = JSON.parse(localStorage.myObject);

另一种方法是使用哈希或查询字符串。例如,您可以重定向到www.yourdomain.com/your/path?myValue=1234 然后通过从window.location.search读取搜索值来解析该问题(在这种情况下将返回?myValue=1234)并将其拆分为=

var myValue = window.location.search.split("=")[1];

另一种选择是使用哈希,类似于查询参数。甚至是饼干。

但是,所有这些方法都会将值暴露给用户,所以如果他想获得该值,他就能够!

答案 2 :(得分:0)

首先,与其他答案一样,使用sessionStoragewindow.addEventListener('storage', (e) => console.log(e.key, e.oldValue, e.newValue)) 来存储全局数据。

否则,您可以添加一个事件监听器来检测目标页面中存储值的更改,如下所示:

CreatePersonalSiteEnqueueBulk

请参阅:https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Responding_to_storage_changes_with_the_StorageEvent