如何调整跨域url中iframe的大小
How to resize the iframe in cross domain url
任何人都能告诉我正在尝试在iframe加载函数is中加载url吗?我想在没有滚动条的情况下显示iframe并根据其内容进行调整,但父页面将根据内容进行滚动。有人能告诉我如何在跨域url中调整iframe的大小吗?
感谢
为了根据其内容调整iframe的大小,您不能使用postMessage将当前iframe高度发送给其父级。
iFrame中包含的页面需要使用postMessage将其当前高度发送到包含页面。include页面必须侦听该消息,并相应地更改iframe的高度。
附带页面中的代码可能看起来像这样:
function getBottom() {
var max = jQuery("body").height();
//Your additional calculations go here
return max;
}
function updateHeight() {
sendHeightToParent();
setTimeout(updateHeight, 500);
}
function sendHeightToParent() {
var messageObject = {
"type":"size",
"version":"1.0.0",
"params":{
"height": getBottom()
}
};
//YOURTARGET is the target page if known. Otherwise use "*"
parent.postMessage(JSON.stringify(messageObject), "YOURTARGET");
}
//Only possible if html5 post message is available
if (typeof parent.postMessage == 'function') {
jQuery().ready(function() {
sendHeightToParent();
setTimeout(updateHeight, 500);
});
}
然后,父级侦听事件并相应地更新iframe:
//Only possible if html5 post message is available
if (typeof parent.postMessage == 'function') {
window.addEventListener("message", function (e) {
obj = JSON.parse(e.data);
if (obj.type == 'size') {
myFrame = document.getElementById('YouIFrameId');
myFrame.stye.height = obj.params.height + "px";
}
}
}
相关文章:
- 如何使用javascript/jquery获取iframe的URL的锚点属性
- 重定向iFrame中的父URL
- iFrame url更改时执行函数
- 在iframe中加载url并添加一个类
- 如何使用iFrame在不同的域中匹配URL
- 编码url并显示在iframe中
- 是否可以添加<脚本>添加'_someTag'到iFrame中的URL
- 如何调整跨域url中iframe的大小
- 一些url没有在iframe中打开
- 我想从iframe获取url
- 嵌入iframe URL以在wordpress中包含当前用户id
- 绕过同源策略,从跨域iframe中获取页面的顶部URL
- iframe url在浏览器上打开
- 如何检查 iframe 中的锚标记是否包含 URL
- IFrame 从不同域上的父 url 获取参数
- 将当前页面 URL 传递给 iframe 地址
- 如何使用 React 替换 iframe 的 URL
- 由 URL 触发的来自 iFrame 的 JavaScript 重定向
- 为什么当我尝试为iframe-src属性构建URL时,AngularJS会抛出错误
- 只允许表单提交,如果从某个URL?(iframe Laravel)