iframe滚动问题..解决方案是什么?

时间:2014-04-10 14:25:06

标签: javascript php jquery iframe

我在不同的服务器上有两个文件,我使用iframe将一个服务器的数据显示到另一个服务器,我使用的是代码

server.php(托管在服务器A上)

<?php
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Methods: GET, POST');
?>
this is itest
<div style="height:1100px; background-color:pink; width:100px" >sdfsd</div>
<a href="javascript:;" onclick="goTop()">Go to Top</a>
<script>
function goTop () {
  parent.scrollTo(0,0);
}
</script>

client.php(托管在服务器B上)

<iframe src="http://serverA.com/server.php" height="1200px" >

当我点击“Go to Top”链接时,我得到“Uncaught SecurityError:Blocked a frame with origin”....“从访问带有原点的帧”......“。协议,域和端口必须匹配。“

解决方案是什么?

1 个答案:

答案 0 :(得分:2)

  1. 在父框架中创建一个将滚动到顶部的函数(您已经以goTop的形式完成了此操作)
  2. message对象上的window事件的事件侦听器中使用该函数
  3. 使用框架中文档中的parent.postMessage向父元素发送消息
  4. 有关示例,请参阅the MDN postMessage page