[英]Marvin Project plugins for webcam: No image is loaded from webcam
[英]How to pass data from a webpage loaded into a div to the page that loaded it
我有两个 web 申请。 我通过 div 将项目 1 加载到项目 2 中。 现在我想将数据从项目 1 传递到项目 2。但我不知道如何 go 了解它。 有人可以帮帮我吗?
这是代码:
<!Doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
</head>
<body>
<script>
(function () {
var externalEl = document.createElement('div'); // is a node
externalEl.innerHTML = '<div><object type="text/html" data="http://localhost:3333/payment/P2ZpcnN0TmFtZT1UaW1vdGh5Jmxhc3ROYW1lPVVpamlhdGFsb3ImcGhvbmU9MDgxNjk1MjI3OTAmZW1haWw9dGltb3RoeXVpamlhdGFsb3JAeWFob28uY29tJmNvdW50cnk9TmlnZXJpYSZhbW91bnQ9NTAmY3VycmVuY3k9TkdOJmRpdkNvZGU9MDEmaXRlbUNvZGU9MzAwMDAwMDAwMDAwMDAwJnJlZGlyVXJsPWh0dHA6Ly8xMjcuMC4wLjEvcG9zdC9ndzIucGhwJnBheW1lbnRUaXRsZT1TdGFuYmljJmxvZ29QYXRoPWh0dHBzOi8vcmNjZ2V0b3VyLm9yZy9pc3JhZWwyMDIwL3RlbXBsYXRlL2Fzc2V0cy9pbWcvbG9nby5wbmcmbWVyY2hhbnRSZWY9R0YxMjMmdHlwZT1jYXJkJnNob3dNb2RhbD0x" width="800px" height="600px" style="overflow:auto;border:5px ridge blue"></object></div>';
document.body.appendChild(externalEl);
// I want to know whether user clicked on male or female from the page I loaded into the above div
})();
</script>
</body>
</html>
这是项目 1 如何加载到项目 2 中的屏幕截图:
我猜最终产品会比简单的男性/女性选择稍微复杂一些(否则我建议只在项目 2 中处理它,而不是将项目 1 嵌套为 iFrame)。 不知道您希望嵌套部分如何交互的具体细节; 我只能举一个广泛的例子。
在项目 1 中,您需要在相关的 Javascript 块中按照这些行添加一些内容:
window.parent.postMessage({ message: "getAppData", value: MyDataToPass }, "*");
因为 iframe 本质上只是嵌套在页面中的新浏览器 session - 这会将消息传递到包含您指定的数据的外部页面。
在项目 2 中,您想用以下内容替换问题中的内容:
<html>
<head>
<title>IFrame Example</title>
</head>
<body>
<iframe src="inputForm.html" >
</iframe>
</body>
</html>
您需要将 src 指向项目 1 中的相关 URL。
然后在页面的 javascript 中,您将创建一个事件侦听器。
window.addEventListener("message", this.receiveMessage, false);
用对应的function来处理数据。
receiveMessage = (event: any) => {
const message = event.data.message;
switch (message) {
case 'getAppData':
Process the data here
break;
}
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.