【发布时间】:2014-07-11 19:09:44
【问题描述】:
我正在尝试使用https://github.com/davidjbradshaw/iframe-resizer iframe 调整大小,示例 (https://github.com/davidjbradshaw/iframe-resizer/tree/master/example) 似乎基于 JQuery。有谁知道如何在不使用 JQuery 的情况下仅通过 JavaScript 调用它?它需要正文 onload 还是我捕获 iframe 的 onload 事件?我对如何开始使用它感到困惑(调用它)。
编辑...为每个问题添加更多详细信息。
-
为什么?动态内容: 我需要我的 iframe 根据 iframe 中“变化”的内容动态调整其高度。我已经尝试了多种解决方案,例如下面的解决方案,但它们并没有“完全”100% 地解决问题。他们仅根据 iframe 内容的“第一页”设置大小:
<script type="text/javascript"> <!-- //Credit for script: http://th.atguy.com/mycode/100_percent_iframe/ <script language="JavaScript"> function resize_iframe() { var height=window.innerWidth;//Firefox if (document.body.clientHeight) { height=document.body.clientHeight;//IE } //resize the iframe according to the size of the //window (all these should be on the same line) document.getElementById("glu").style.height=parseInt(height- document.getElementById("glu").offsetTop-8)+"px"; } // this will resize the iframe every // time you change the size of the window. window.onresize=resize_iframe; //Instead of using this you can use: // <BODY onresize="resize_iframe()"> //--></script> 现有文档。/未弄清楚: 我没有遵循 DavidBradshaw 提供的有关如何执行此操作的现有文档:我尝试按如下方式添加此代码。但显然,这不是你的做法。
文件的正文是:
<iframe src="http://www.domain.net/store20/StoreTop.aspx?StoreID=17" width="100%" scrolling="no" onload="iFrameResize()"></iframe>
脚本部分:
<script type="text/javascript" src="../src/iframeResizer.min.js"></script>
<script type="text/javascript">
<!--
<script language="JavaScript">
iFrameResize();
// this will resize the iframe every
// time you change the size of the window.
window.onresize=iFrameResize;
//Instead of using this you can use:
// <BODY onresize="resize_iframe()">
//--></script>
同样在 iframe 中被调用的内容,我有这行代码。不过,我很确定这部分是正确的。
<script type="text/javascript" src="../js/iframeResizer.min.js"></script>
提前感谢您的帮助。如果我看起来很密集或这是一个愚蠢的问题,我深表歉意,但我看到了原型示例:iFrameResize([{options}],[selector]);
但是,您不需要“事件”来触发该功能吗?查看我的代码,我使用了 onload 事件,但它不起作用。如果我设置iframe的ID来建立一个[选择器]:
<iframe id="testframe" src="http://www.domain.net/store20/StoreTop.aspx?StoreID=17" width="100%" scrolling="no" onload="iFrameResize()"></iframe>
然后这样称呼它:
iFrameResize(,testframe);
或者这个:
iFrameResize(,$("#testframe"));
还是不行。我没有任何选项,并希望将选项保留为默认值。
【问题讨论】:
-
您这样做的原因是什么? (除了让生活更艰难?)
-
示例使用jQuery做DOM操作。你不需要它。
-
文档还展示了如何在没有 jquery 的情况下使用它。'
-
直接从你链接到的 Github 页面:"可以用原生 JavaScript 调用:
iFrameResize([{options}],[selector]);"... -
是的,我在文档中看到了这一点,而且在没有“直接示例”的情况下,他在谈论什么对我来说并不明显。我没有任何选择,正在尝试使用默认值。我的代码正在调用 iFrameResize([no options], 作为 ME 直接从 onload 调用); 我也可以给 iframe 一个 id=testframe [selector] 并像它似乎推断一样调用它。iFrameResize(,testframe); 那是我的问题。我我没有看到如何将“原型”转化为现实。他在实践中给出了原型但没有给出原型。JQuery 是原型和示例。
标签: javascript iframe iframe-resizer