我會解決這個使用window.postMessage
。這將從iframe發送消息到包含iframe的父頁面。然後,您可以更新父級中的高度。試圖從iframe中設置高度會給瀏覽器XSS預防造成很大的限制。
一個很好的例子是here:
父:
// Every two seconds....
setInterval(function() {
// Send the message "Hello" to the parent window
// ...if the domain is still "davidwalsh.name"
parent.postMessage("Hello","http://davidwalsh.name");
},1000);
的iframe:
// Create IE + others compatible event handler
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
// Listen to message from child window
eventer(messageEvent,function(e) {
console.log('parent received message!: ',e.data);
},false);
調整大小實際上只是elem.height或elem.width。 – poo
我認爲元素的'height'屬性實際上不被支持(至少在xhtml中)。試試也會查找一些確認。無論如何,我更喜歡通過CSS規則來做樣式,所以這就是我操縱這些的原因。 – npup
可以說,在某些情況下更好地向它添加一個css類,而不是寫入內聯樣式。我想這取決於人們想要身高的「動態」。 – npup