我想在javascript中创建这个场景:
我有一个主html pageA,其中包含带有子html pageB的iframe。 PageB包含使用Ajax将结果提交给服务器的js代码。
有没有办法在pageA的js代码中创建一个可以检测结果是否已提交的侦听器?
你能否告诉我实现这一结果的最佳方法?
致以最诚挚的问候,
答案 0 :(得分:0)
我对iframe了解不多,但这听起来像使用网络套接字可以轻松搞定。
基本上,Web套接字将保持与服务器的实时连接,以便服务器可以向客户端通知发生的事情(例如,它们经常在聊天应用程序中使用)。这与通常的情况不同,即必须从客户发出请求。
因此,在您的示例中,PageA可以侦听Web套接字,当PageB发送请求时,服务器会通过Web套接字通知PageA。
答案 1 :(得分:0)
使用Window.postMessage API。
请检查一下。 https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
答案 2 :(得分:0)
如果有一个domen,来自iframe:
window.parent.bla-BLA();
如果是不同的域名:
或者 使用此:https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
答案 3 :(得分:0)
var myForm= document.getElementById('myframeId').contentWindow
.document.getElementById('myformid');
function detectSubmit() {
alert("submit event fired");
}
myForm.addEventListener(myiframe , 'submit', detectSubmit, false);
注意这不会检测脚本触发提交。 如果iframe源是那样,可能会出现跨域问题。
由于问题含糊不清,这里有很多假设。