javascript - iframe 滚动问题.. 解决方法是什么?

标签 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" >

当我点击“转到顶部”链接时,我收到“未捕获的安全错误:阻止了一个来源为“....”的框架访问来源为“...”的框架。协议(protocol)、域和端口必须匹配.”

解决方案是什么?

最佳答案

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

参见 the MDN postMessage page例如。

关于javascript - iframe 滚动问题.. 解决方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22990903/

相关文章:

java - 如何访问其他页面中的类的对象?

javascript - 如何在 IE11 中解决 "TypeError: Object doesn' t 支持属性或方法 'append'"?

javascript - Phonegap 重启加速度计

php - PDO fetchAll() 返回空数组

javascript - Angular JS - ng 网格选项卡出问题

Javascript 类属性始终未定义

javascript - 当输入文本框为空时阻止按钮 asp.Net webforms

javascript - 如何判断屏幕上是否显示 HighChart?

javascript - 跨域页面刷新

javascript - 使用 AJAX 传递变量并在其他页面上使用它