gpt4 book ai didi

javascript - 动态 iframe 高度 - 似乎需要重新加载页面

转载 作者:行者123 更新时间:2023-11-28 08:44:22 25 4
gpt4 key购买 nike

首先,我有非常非常基础的 Javascript 知识和过时的 HTML 知识,所以我一直像恶魔一样复制和粘贴,试图让它工作。

这是我当前使用的代码:(基于 https://stackoverflow.com/a/819455/3005885 )

<script language="JavaScript">
<!--
function autoResize(id){
var newheight;
var newwidth;

if(document.getElementById){
newheight=document.getElementById(id).contentWindow.document .body.scrollHeight;
newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth;
}

document.getElementById(id).height= (newheight) + "px";
document.getElementById(id).width= (newwidth) + "px";
}
//-->
</script>

<iframe id="iframe1" name="iframe1" src="source.html" width="100%" frameborder="0" onLoad="autoResize('iframe1');"></iframe>

我有一个 CSS/Javascript 行“按钮”,可以将您移动到网站上的不同页面,并且在相关页面上有一个 iframe 和表格中包含的一系列链接(用于组织目的)。当您第一次单击相关页面的“按钮”时,iframe 会以最小高度显示,直到您再次单击“按钮”,然后调整大小就会正常进行。

我一直在尝试让脚本(实际上是几个不同的脚本)来控制 iframe 元素,但似乎 iframe 必须“存在”才能监听脚本。

我希望页面在 iframe 中以全高度加载“source.html”页面,并且 iframe 的高度由指向 iframe 的其他页面决定。

编辑1:我刚刚尝试过这种方法:https://stackoverflow.com/a/526373/3005885与之前的结果相同。我还做错了什么吗?一些基本的东西? JS 工作完美,但只有在单击链接加载页面后,iframe 才会第二次出现,单击刷新/重新加载(或 command-R)不会产生任何影响。

编辑2:这是另一种方法,其行为与我提到的其他方法相同,只是这个方法会禁用滚动条,即使在初始加载时太小而看不到任何内容( https://www.ibm.com/developerworks/community/blogs/peteryim/entry/determining_the_iframe_height_based_on_its_content6?lang=en )。

最佳答案

事实证明,问题是重定向设置的问题,该重定向设置将访问者从我们的主 URL 指向网站实际存在的目录(组织上的噩梦,但此时是必要的)。错误如下:

Uncaught SecurityError: Blocked a frame with origin "http://www.mysite.org" from accessing a frame with origin "http://www.mysite.com". Protocols, domains, and ports must match. 

不知何故,.com 潜入了我们 .org 网站上的重定向。由于我不知道的原因(服务器端的某些原因),该网站在 .com 而不是 .org 上表现正常,但它确实与 javascript 混淆了。因此,罪魁祸首是打字速度太快,也就是所谓的“模糊的击键”。

鸡蛋在我脸上,鸡蛋在我脸上。

关于javascript - 动态 iframe 高度 - 似乎需要重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20055602/

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