使用javascript在两个html页面之间传递消息

时间:2012-04-13 10:43:23

标签: javascript message

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

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

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

3 个答案:

答案 0 :(得分:0)

如果窗口是独立的(没有对服务器的请求),则无法执行此操作。如果两个窗口都不是任何类型的帧。出于安全原因。

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

答案 1 :(得分:0)

有两种发送信息的方式。

  1. 在源代码中创建一个提交给dest.html的表单,确保该方法为'GET'

  2. 点击按钮设置信息的值并提交表格

    //像 document.getElementById('message')。value ='HELLO'; 的document.getElementById( '形式')提交();

  3. 2a上。您不需要制作表单,只需在source.html按钮上使用硬编码的网址重定向即可点击

    window.location = 'dest.html?message=somemessage';
    
    1. 在提交时,将打开dest.html文件,并在页面的URL中提供消息

      var url = window.location +“”;

      //如果有多个参数需要循环并将它们存储在数组中,您可以使用

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

    2. 第二种方法 没有尝试过,在source.html上点击按钮并在dest.html中读取cookie时将它们存储在cookie中

答案 2 :(得分:0)

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

请按照this referrence

中的步骤操作