Javascript 页面:为具有 JSON 对象的另一个网站页面打开一个新选项卡
Javascript page: Open a new tab for another website page with JSON object
我在同一个域中有两个网站,mydomain.com。
https://firstSite.mydomain.com
https://seconSite.mydomain.com
我在 firstSite 中有一个名为 display 的网页,https://firstSite.mydomain.com/display
。
同样,我在 seconSite 中有一个名为 create 的网页,https://seconSite.mydomain.com/create
。
当 seconSite 中发生点击事件时,创建 html 视图,我需要打开一个新选项卡以显示 firstSite/display 页面。
在从seconSite/create打开firstSite/display时,我必须转移我的JSON对象,这个对象不小。它的最小长度是 >5000,所以很难通过 URL 参数传输,
是否可以打开一个新选项卡以加载具有大 JSON 对象的 https://firstSite.mydomain.com/display from https://seconSite.mydomain.com/create 单击事件?
有没有一种方法可以在不涉及数据库的情况下将 JSON 存储在某个地方并取回它?
你可以使用Window.postMessage
类似
用于 /create 的 JS:
clickElement.addEventListener('click', (e) => {
e.preventDefault();
displayWindow = window.open('https://firstSite.mydomain.com/display');
displayWindow.postMessage(jsonObject, '*');
});
用于/显示的 JS
window.addEventListener('message', (event) => { console.log(event.data); });
这是要点...它可能不是 copy/paste 代码,但应该可以帮助您了解大部分内容。您可能还需要执行其他一些实现细节(setting/checking 来源、消息返回 /create 等)。您可以在下面的链接中找到这些详细信息。
我在同一个域中有两个网站,mydomain.com。
https://firstSite.mydomain.com
https://seconSite.mydomain.com
我在 firstSite 中有一个名为 display 的网页,https://firstSite.mydomain.com/display
。
同样,我在 seconSite 中有一个名为 create 的网页,https://seconSite.mydomain.com/create
。
当 seconSite 中发生点击事件时,创建 html 视图,我需要打开一个新选项卡以显示 firstSite/display 页面。
在从seconSite/create打开firstSite/display时,我必须转移我的JSON对象,这个对象不小。它的最小长度是 >5000,所以很难通过 URL 参数传输,
是否可以打开一个新选项卡以加载具有大 JSON 对象的 https://firstSite.mydomain.com/display from https://seconSite.mydomain.com/create 单击事件?
有没有一种方法可以在不涉及数据库的情况下将 JSON 存储在某个地方并取回它?
你可以使用Window.postMessage
类似
用于 /create 的 JS:
clickElement.addEventListener('click', (e) => {
e.preventDefault();
displayWindow = window.open('https://firstSite.mydomain.com/display');
displayWindow.postMessage(jsonObject, '*');
});
用于/显示的 JS
window.addEventListener('message', (event) => { console.log(event.data); });
这是要点...它可能不是 copy/paste 代码,但应该可以帮助您了解大部分内容。您可能还需要执行其他一些实现细节(setting/checking 来源、消息返回 /create 等)。您可以在下面的链接中找到这些详细信息。