我有一块JQuery已经由之前的开发人员提供,但我并不是100%确定我理解它在做什么。我认为这与根据其内容设置iFrame的高度有关。
var iframeId = "iframeFinancial";
var origin = "http://content.net";
//I am not 100% sure what is going on over the next 3 lines
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventListener = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventListener(messageEvent,function(e) {
var message = e.data;
if(e.origin !== origin) return; // change to vanity url if applicable
updateIFrame(message);
},false);
function updateIFrame(msg) {
console.log('In Update Iframe Function');
if(typeof msg != 'object') {
var iframe = document.getElementById(iframeId); // iframe id
iframe.setAttribute('height',msg);
} else { // for multiple iframe support
var id = msg.id;
var height = msg.height;
var object = document.getElementById(id);
object.setAttribute('height',height);
}
}
但是当iFrame加载时,我从未根据我在控制台中看到的内容进入updateIFrame函数。
我自己也尝试了以下操作,但遇到了这个错误:Error: Permission denied to access property "document"
document.getElementById("iframeFinancial").onload = function()
{
var iFrameID = document.getElementById('iframeFinancial');
iFrameID.height = "";
iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px";
console.log('In new function');
}
我检查了加载到iFrame中的页面,并在页面底部找到了以下JS片段:
(function ($) {
var wrapper = document.getElementById('wrapper'); // the container element of the phx content.
var height = Math.max( wrapper.offsetHeight, wrapper.scrollHeight );
parent.postMessage(height,"*");
}(Phx.$));
根据此处显示的内容,我需要更新问题顶部提到的JQUERY。