【问题标题】:Is there a way to scroll an iFrame cross domain with jQuery?有没有办法用 jQuery 滚动 iFrame 跨域?
【发布时间】:2012-05-16 10:10:46
【问题描述】:

我似乎无法准确找到我想要的东西。 Google 一直在说“位置”(例如 CSS topleft),但我想要的是单击 button 并滚动一个框架。

重点?这样我就不必在框架上使用滚动条——根据您使用的系统,它们可能会很丑。

【问题讨论】:

  • 啊,是的。差点忘了:如果有跨域的方法,请告诉。
  • 所以你要点击外面然后滚动iFrame的内容
  • 是的。让我看看 VisioN 的 jQuery 能不能用……

标签: jquery html iframe scroll


【解决方案1】:

如果您的iframe 正在您的域 中导航,那么此代码可能会有所帮助:

$("button").on("click", function() {
    $("iframe").contents().scrollTop(100);
});​

否则,您将收到类似“不安全的 JavaScript 尝试访问框架...域、协议和端口必须匹配”的错误消息。

【讨论】:

    【解决方案2】:

    我假设您想从外部滚动 iFrame。我不知道它是否有效,但是尝试将 iFrame 的 Hash 设置为使用默认滚动机制怎么样

    $("iframe").attr("src", "http://www.example.com/#hash
    

    其中“hash”可以是锚的名称或 id(最后一个仅适用于支持的浏览器)

    编辑 1:您可以简单地设置相同的域 .scrollTop()

    【讨论】:

      【解决方案3】:

      带有 Hash 的默认滚动机制适用于大多数浏览器,因此它是来自外部域的 iframe 的最佳解决方案。

      【讨论】:

      • 你有例子吗?
      猜你喜欢
      • 2015-11-01
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多