我试图通过javascript文件将信息从一个页面发送到另一个页面
该信息仅包含单个变量的值。
如何实现这一点?
我不想通过查询字符串发送它,因为该值将在URL中可见
还有其他办法吗?
答案 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)
首先,与其他答案一样,使用sessionStorage
或window.addEventListener('storage', (e) => console.log(e.key, e.oldValue, e.newValue))
来存储全局数据。
否则,您可以添加一个事件监听器来检测目标页面中存储值的更改,如下所示:
CreatePersonalSiteEnqueueBulk