gpt4 book ai didi

javascript - 使用 IFrame 时将 JS 放在哪里

转载 作者:行者123 更新时间:2023-11-30 18:52:34 29 4
gpt4 key购买 nike

好的,我知道每个人都认为 IFrame 不好,我知道这一点。但我“被要求”在极少数情况下使用一个。

所以我的问题是,当您有一个包含 IFrame 的 .aspx 页面,然后在该 IFrame 中有另一个 .aspx 页面时,如果您希望该 IFrame 中的 .aspx 页面能够使用 JS,您是否应该:

1) 将所有 JS 放在主 .aspx 中,并以某种方式将代码从内部 .aspx 引用到主 .aspx 以调用驻留在主 .aspx 中的 JS 方法?意思是我应该向后考虑这个问题,因为我把所有的 JS 即使它真的用于主 .aspx 中的内部 .aspx,然后尝试从该内部 .aspx 进行调用并以某种方式引用那些 JS 方法?因为现在当我在内部 .aspx 中有 JS 并且 .aspx 也有 asp.net web 控件时,我无法获取 .aspx 控件的 ClientID,我试图将 JS var 设置为其 clientID ..这里是正常的东西,但它不起作用,因为每次我在 JS 中测试该 var 时,它只是吐回服务器端 ID,而不是控件中的命名容器吐出的运行时重写 ID。

我还看到问题在于,如果使用这样的库以某种方式引用位于 IFrame 中的 .aspx,则您必须以某种方式获取 jQuery 库。你不想加载 jQuery 库两次(一次在你的 main 中,一次在你的 Iframe 的 .aspx 中),所以这进一步让我倾向于相信这个选项是我需要的方式,以便内部 .aspx 以某种方式引用main .aspx 对我包含在母版页中的 jQuery 库的引用。主 .aspx 与该母版页相关联。

2) 把main.aspx相关的JS当然放在main.aspx里面,把inner.aspx相关的JS放在inner.aspx文件里。但话又说回来,我又遇到了问题。

需要阅读的内容很多,但我不知道如何解释这个问题以及我试图弄清楚人们在使用 IFrames 时对此做了什么的情况。

最佳答案

您可以使用 top 从任何 iframe 引用主页中的任何内容,如 top.getElementById('maindiv');

在主页中,您可以通过名称或 frames 数组中的索引访问框架。

frame 和 parent 必须来自同一个域才能以这种方式进行交叉通信。

关于javascript - 使用 IFrame 时将 JS 放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302833/

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