Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在服务器上创建javascript listner_Javascript - Fatal编程技术网

如何在服务器上创建javascript listner

如何在服务器上创建javascript listner,javascript,Javascript,我想用javascript制作这个场景: 我有一个主html页面a,其中包含一个带有子html页面B的iframe。 PageB包含使用Ajax向服务器提交结果的js代码 有没有办法在pageA的js代码中创建一个监听器来检测结果是否已提交 你能告诉我达到这个结果的最佳方法吗 致以最诚挚的问候,我对iFrame了解不多,但这听起来像是使用Web套接字可以相当轻松地完成的事情 实际上,Web套接字将保持与服务器的实时连接,这样服务器就可以将发生的事情通知客户端(例如,聊天应用程序中经常使用它们)。

我想用javascript制作这个场景:

我有一个主html页面a,其中包含一个带有子html页面B的iframe。 PageB包含使用Ajax向服务器提交结果的js代码

有没有办法在pageA的js代码中创建一个监听器来检测结果是否已提交

你能告诉我达到这个结果的最佳方法吗


致以最诚挚的问候,

我对iFrame了解不多,但这听起来像是使用Web套接字可以相当轻松地完成的事情

实际上,Web套接字将保持与服务器的实时连接,这样服务器就可以将发生的事情通知客户端(例如,聊天应用程序中经常使用它们)。这与通常的情况不同,即必须由客户发出请求


因此,在您的示例中,PageA可以监听Web套接字,当PageB发送请求时,服务器会通过Web套接字通知PageA。

使用Window.postMessage API


请看这个

如果有一个圆顶,从iframe开始:

window.parent.bla-bla()

如果是不同的域:

  • 更改子iframe中的片段位置,用于检查添加#exicutebla-bla()
  • 检测父文档中的iframe位置,如果位置#exicute布拉-bla()执行blba-bla()
  • 或 使用以下命令:

    注意:这不会检测到脚本触发的提交。 如果iframe源是这样的,则可能会出现跨域问题


    由于问题的模糊性,这里有很多假设。

    暂时结束投票,因为你应该提供一些你尝试过的信息。我已经提供了一个答案让你开始,因为我知道在这种情况下,如果没有正确的关键字,可能很难在Google中找到结果。你没有告诉我们(在许多其他事情中)你是否控制了B发布的页面和服务器。这可能会影响可能的解决方案。根据您的需要,您可能会监视iframe本身的“加载”事件?
    var myForm= document.getElementById('myframeId').contentWindow
              .document.getElementById('myformid');
    function detectSubmit() {
        alert("submit event fired");
    }
    myForm.addEventListener(myiframe , 'submit', detectSubmit, false);