是否可以对从没有 CORS 的 iframe 发出的 POST 请求做出反应?
Is it possible to react to a POST request that was issued from an iframe without CORS?
我有一个来自另一个域的页面呈现到我的主网站并定位以显示相关内容:
<div id="containerdivonparentsite" style="position:relative;overflow:hidden;width:350px;height:650px;">
<iframe style="position:absolute;top:-230px;left:-700px;"
scrolling="no" width="20000" height="5000"
src="http://www.otherdomain.form.com/myform" ></iframe>
</div>
呈现的子页面包含一个带有提交按钮的表单。当用户单击提交按钮时,将发出 POST HTTP 请求。是否可以在不启用 CORS 的情况下以某种方式 "hook" 对父站点中的此 POST 请求?
我想要类似的东西
$('#containerdivonparentsite').onPOST(function (request) {
alert('A POST request was issued by something inside this div. Probably the user clicked a submit button in the iframe.');
})
或者全球 POST 事件订阅。
$(document).onPOST(function (request){alert('A POST request was issued on the site. It might be coming from an iframe');})
CORS 对此完全没有帮助。
要跨不同来源的框架进行交流,您需要使用 postMessage
和好友。
与 CORS 一样,这确实需要两个站点合作。
父站点需要侦听消息事件。表单处理程序页面需要包含一个脚本,该脚本将调用 postMessage
并包含消息中所需的任何数据。
没有其他站点(CORS、JSONP、postMessage 等)或浏览器(扩展)的合作,一个站点无法访问浏览器与另一个站点之间的通信。
我有一个来自另一个域的页面呈现到我的主网站并定位以显示相关内容:
<div id="containerdivonparentsite" style="position:relative;overflow:hidden;width:350px;height:650px;">
<iframe style="position:absolute;top:-230px;left:-700px;"
scrolling="no" width="20000" height="5000"
src="http://www.otherdomain.form.com/myform" ></iframe>
</div>
呈现的子页面包含一个带有提交按钮的表单。当用户单击提交按钮时,将发出 POST HTTP 请求。是否可以在不启用 CORS 的情况下以某种方式 "hook" 对父站点中的此 POST 请求?
我想要类似的东西
$('#containerdivonparentsite').onPOST(function (request) {
alert('A POST request was issued by something inside this div. Probably the user clicked a submit button in the iframe.');
})
或者全球 POST 事件订阅。
$(document).onPOST(function (request){alert('A POST request was issued on the site. It might be coming from an iframe');})
CORS 对此完全没有帮助。
要跨不同来源的框架进行交流,您需要使用 postMessage
和好友。
与 CORS 一样,这确实需要两个站点合作。
父站点需要侦听消息事件。表单处理程序页面需要包含一个脚本,该脚本将调用 postMessage
并包含消息中所需的任何数据。
没有其他站点(CORS、JSONP、postMessage 等)或浏览器(扩展)的合作,一个站点无法访问浏览器与另一个站点之间的通信。