使用src调整HTML Iframe的大小我可以't控制
Resizing HTML Iframe using a src I can't control
我正在开发一个应用程序,该应用程序提供包含API会话令牌的URL。此URL将允许应用程序的用户通过API查看第三方数据库中的搜索结果。
我面临的问题是,当在iframe中显示结果(URL)时,由于iframe的滚动条,它看起来非常难看。我试着得到了通常的谷歌结果,但我发现我很困惑如何扩展iframe的高度以匹配传入的内容。
我找到了一个我希望发生的事情的例子,但在尝试复制代码时,我运气不佳。
有问题的链接。。。正如您所看到的,页面将iframe加载到一个基本的HTML表中,并进行扩展以适应iframe中内容的大小。
以下是HTML的源代码:
<html>
<body>
<table width="100%" border=1>
<tr><td>Header</td></tr>
<tr><td>Navigation</td></tr>
<tr><td>
<iframe onload="resize(this)" src="/test/phpinfo.php">
</iframe>
</td></tr>
<tr><td>footer</td></tr>
</table>
<script>
function resize(elem){
var outer=elem;
var inner=elem.contentDocument.documentElement;
outer.style.border="0";
outer.style.overflow="hidden";
outer.style.height=Number(inner.scrollHeight+10)+"px";
outer.style.width=Number(inner.scrollWidth+10)+"px";
}
</script>
</body>
</html>
没什么特别的吧?但是代码的复制(显然是更改src)没有任何作用。我觉得我在这里吃疯狂的药,这应该是两秒钟的工作,但对我不起作用。这都是客户的事情,对吧?服务器上没有发生巫毒魔法。
女士们,先生们,我做错了什么,或者我该怎么做才能更好呢?请记住,我没有能力影响iframe中的HTML,因为它是通过API提供的,我不能触摸它
谢谢
编辑:这就是它不适用于同源策略的原因。
只有当iframe origin和iframe src origin相等且匹配时,才能使用javascript访问iframe contentDocument
。
否则浏览器不允许您访问内部contentDocument
Blocked a frame with origin "http://example.de" from accessing
a frame with origin "http://otherorigin.example.de". Protocols,
domains, and ports must match.
您发布的示例页面来源
http://frank.bridgewater.edu/test/iframeResize/
和iframe-src起源
http://frank.bridgewater.edu/test/phpinfo.php
匹配(原点相等)。因此,它在这里工作,脚本可以访问iframe contentDocument
相关文章:
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 我可以获得相对于被点击元素的确切点击位置吗
- 不同'单击'不同脚本中的回调:我可以控制执行顺序吗
- 如何添加id和额外的参数到一个放大弹出iframe与youtube视频,所以我可以控制与API youtube播放器
- 我可以使用jwplayer为iPad,隐藏控制栏
- 为什么如果此 API 给出“无访问控制允许源标头”,我可以通过地址栏或 http://www.hurl.it 访问它
- 我可以在控制台中打印值,但不能在 html 视图中打印值
- 在Chrome的javascript控制台中,我可以调用一个函数,然后逐步完成它
- 我可以控制javascript / jQuery事件触发的顺序吗?
- 我得到了一个JSON/Javascript对象,因为我可以在控制台中看到它,但我如何让它序列化并使我的数据绑定到我的Ui
- 我可以用外部JavaScript控制Unity3D吗
- 我可以拒绝dojo/Deferred而不会在浏览器控制台中出现错误吗?
- 我可以使ModalPopupExtender响应tab光标到控制字段
- 使用自托管视频作为BG.我可以通过点击视频来控制播放/暂停,就像嵌入的YouTube视频一样
- 我可以得到一些关于使用图像按钮进行列表控制的建议吗
- 我可以控制js谷歌地图吗;s通过拖动另一个元素进行平移
- 给定一个具有多个提交按钮的表单,我可以单独控制它们吗
- 浏览器插件代码中的控制级别:我可以达到多低
- 我可以在javascript控制台中抓取当前模板吗?