捕获iframe的POST或GET数据

时间:2013-12-06 14:10:12

标签: javascript

我的网页上有一个iframe,位于不同的域上。我知道出于安全原因,在浏览器中无法使用javascript访问该iframe的内容,但我可以检测到用户在iframe的页面之间导航时发生的任何POST或GET吗?

3 个答案:

答案 0 :(得分:0)

如果您拥有这两个应用程序,则可以教他们与postMessage API进行通信:https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage

如果没有太多工作,你可以在iframe方面创建一个简单的方法,告诉它当前的window.location是什么。

答案 1 :(得分:0)

如果你控制服务器,你可以通过一些服务器端代码将它们打印到parent.yourMethodToHandle()来传回一些变量。例如:

在子页面上使用php(在iframe中):

 $post_var = $_POST['var'];
 echo "<script type='text/javascript'>$(function(){parent.yourMethodToHandle('$post_var')});    </script>";

和您父网页上的JS(包含iframe):

 <script type='text/javascript'>
 function yourMethodToHandle(post_var){//Do things}
 </script>

答案 2 :(得分:0)

如果它是同一个域,服务工作者可能会帮助您捕获正在进行的请求,拦截并返回您想要的任何内容。