1

我有两个 HTML 页面:source.html 和 dest.html

  • 在 source.html 中,我创建了一些按钮(开始、停止、暂停......)
  • 在 dest.html 中,我创建了一个简单的时钟。

每当我单击其中一个按钮时,源都会向 dest 发送一条消息。处理后,结果(基于按下的按钮)将被发送回源。我尝试了 iframe,但它对我不起作用。是否有任何不使用客户端-服务器模型的建议?

4

3 回答 3

0

有两种方式发送消息。

  1. 在源代码中创建一个提交到 dest.html 的表单,确保方法是“GET”

  2. 单击按钮设置消息的值并提交表单

    // 类似 document.getElementById('message').value = 'HELLO'; document.getElementById('form').submit();

2a. 您不需要制作表单,您只需在 source.html 按钮上使用硬编码的 url 进行重定向,点击喜欢

window.location = 'dest.html?message=somemessage';
  1. 提交后,dest.html 文件将打开,页面 URL 中包含可用消息

    var url = window.location+"";

    // 如果有多个参数,您将不得不循环并将它们存储在数组中以供单个您使用

    var message = url.substr((url.indexOf('=')+1)); 警报(消息);

第二种方法 未尝试,当单击 source.html 上的按钮时将它们存储在 cookie 中并读取 dest.html 中的 cookie

于 2012-04-13T11:01:50.283 回答
0

如果窗口是独立的(没有对服务器的请求),则无法做到这一点。如果两个窗口都不是任何类型的框架。因为安全原因。

但是如果你从 source.html 创建 dest.html 窗口,你可以使用创建的窗口变量 ( window.open ) 来管理它,并使用OPENER对象来管理 source.html 窗口。

于 2012-04-13T10:47:58.003 回答
0

事实上,你可以。尝试使用该window.postMessage()方法。另外,如果您想发回一些消息,您将需要创建一个事件侦听器。

请按照本参考资料中的步骤操作

于 2016-07-06T18:29:34.363 回答