【问题标题】:Share js obect between html pages在 html 页面之间共享 js 对象
【发布时间】:2017-07-27 15:37:13
【问题描述】:

我有 page1.html 和 script1.js 文件。加载 page1 时,script1.js 创建与 c/c++ 层的连接并发送/接收数据。到目前为止一切正常。

现在我添加了 page2.html 页面和 page1.html 加载的 script2.js。 page2.hmtl 还需要与 c/c++ 层通信。为此,我试图重用来自 script1.js 的现有连接 这对我想要做什么有意义吗?如果是,那么如何?还是必须在page2加载的时候重新打开与c层的连接?

到目前为止,我尝试创建 shared.js 文件并尝试在 2 个 html 页面之间共享相同的连接。但由于无法在 html 页面之间共享 js 对象而失败。 (即在加载page2时重置连接信息。我尝试了localstorage,但它仅用于字符串存储) 我想this question 与我的情况类似,但我并不完全清楚它的解决方案。

【问题讨论】:

  • 这与 C++ 无关。连接的另一端是用 C++ 编写的这一事实无关紧要。请删除标签。
  • 其实你可以使用localStorage或者sessionStorage来在页面之间共享对象,但是你应该通过JSON.stringify方法处理它来转换为字符串和JSON.parse从字符串中恢复对象。

标签: javascript html


【解决方案1】:

这里有两个选择。由于您尚未共享任何代码,因此我的回答将基于猜测。一种选择是创建一个包装器 html 文件并将您的 js 文件包含在其中。然后使用 XMLHTTP 请求 ( ajax ) 加载您的辅助页面,这样您就不会重新加载整个页面,并且您的 js 文件实例将保留在任一页面上。另一种选择是您说某种连接,因此如果这是一个对象,您可以查看浏览器上的 localStorage/sessionStorage 以在页面更改时将数据保留在浏览器上。

【讨论】:

  • 感谢您的提示。我已经用建议选项 1 解决了我的问题,即将第二个 html 加载到第一个中。
猜你喜欢
  • 2014-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多