gpt4 book ai didi

javascript - 从 iframe 中滚动父文档

转载 作者:行者123 更新时间:2023-12-03 10:03:35 25 4
gpt4 key购买 nike

我有两个这样的文档:

http://mydomain/nsobd.html

<html>
<body>
<p name="parentElem" id="parentElem">No sign of Big Dave</p>
<iframe src="http://subdomain.mydomain/nsobd2.html"></iframe>
</body>
</html>

http://subdomain.mydomain/nsobd2.html

<html>
<body>
<a href="???" id="childLink">No sign of Big Dave</a>
</body>
</html>

我想要的是当有人点击 childLink 时在 iframe 中,parentElem滚动到 View 中。

我已经尝试过:

  1. 使用<a href="#parentElem" target="_parent"> - 这会加载http://subdomain.mydomain/nsobd2.html#parentElem在父框架中。
  2. 使用<a href="javascript:document.findElementById('parentElem').scrollIntoView()"> - 由于两个文档位于不同的子域,因此这不起作用。

还有其他想法吗?

最佳答案

由于您尝试在两个域之间进行通信,简短的回答是您不能。您不能这样做,因为浏览器级别设置了禁止跨站点脚本的限制。

For instance, imagine I registered the domain superwinningcontest.com and sent out links to people's emails. When they loaded up the main page, I could hide a few iframes in there and read their Facebook feed, check recent Amazon or PayPal transactions, or--if they used a service that did not implement sufficient security--transfer money out of their accounts. That's why JavaScript is limited to same-domain and same-protocol. [source]

但是,您也许可以通过 cross-document-messaging 实现您的目标。 github项目porthole也许可以帮助你。因此,您无需从 iframe 调用或执行父窗口中的某些函数,而是向父窗口发送一条消息“嘿,介意滚动到 X 吗?”来自 iframe。当父框架收到此消息时,它可以决定执行某个函数,然后滚动到位置 X。

this StackOverflow thread 上似乎有很多相关答案。 。例如this answer用户实现了可能适合您的跨文档消息传递方案。

关于javascript - 从 iframe 中滚动父文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30473151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com