gpt4 book ai didi

javascript - 我可以从另一个域上的 iframe 父级访问 javascript

转载 作者:行者123 更新时间:2023-12-03 04:09:53 26 4
gpt4 key购买 nike

我控制这两个域,并且可以设置任何必要的策略。 iframe 中的域使用几乎相同的库,如果可能的话,我希望将它们从父级中获取。

需要明确的是,我不是在问如何发出跨域请求。我问的是,当父级位于另一个域时,如何从 iframe 的父级获取脚本。

我遇到了一个权限错误(在这里尝试 jQuery,但与我的其他库相同):

if (typeof(jQuery) == "undefined") {
var iframebody = document.getElementsByTagName("body")[0];
var jQuery = function (selector) { return parent.jQuery(selector, iframebody); };
var $ = jQuery;
}
$("<h1>Hello World</h1>").appendTo("body");

如果它们位于同一域中,这将起作用。

我知道这是跨域的,并且出于安全原因被阻止,但考虑到我控制这两个域并且两个域都不安全敏感,我可以根据需要设置任何宽松的策略。

这可以做到吗?

最佳答案

如果您在两个页面中包含来自同一源的js,它将仅加载一次,但可以在两个站点上访问:

//parent/main.html
<script src="jquery.js"></script>
<iframe src="http://other/iframe.html"></iframe>
<script>
$(document.body).html("wohoo");
</script>

//other/iframe.html
<script src="http://parent/jquery.js"></script>
<script>
$(document.body).html("wohoo");
</script>

因此,如果在 iframe 中访问它们,则脚本仅加载一次,并且如果您访问它们中的每一个而不访问另一个,它仍然可以工作。

关于javascript - 我可以从另一个域上的 iframe 父级访问 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44373890/

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