我有一个iframe可以调整它的动态大小。我在父页面上使用帖子消息和监听器解决了这个问题,所以每次iframe的内容都会改变iframe大小,并且永远不会有滚动条。
在iframe中我显示了一个列表,每次到达iframe的底部时,我都希望将新项目添加到列表中。
对我而言,当达到父页面的底部时,它也可以触发该功能,所以我尝试了:
document.getElementById('targetFrame').contentWindow.targetFunction();
但由于跨域名原因而被禁止。
有没有办法完成我想要做的事情?
答案 0 :(得分:0)
感谢您的投入。
我现在用postmessage解决了它。我实际上认为它只能用于将iframe中的消息发布到父级,但它也可以用另一种方式工作。
所以只需将此代码添加到父javascript:
document.getElementById('hotellist').contentWindow.postMessage("scroll", "*");
然后使用以下命令捕获iframe元素中的post消息:
var myEventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var myEventListener = window[myEventMethod];
var myEventMessage = myEventMethod == "attachEvent" ? "onmessage" : "message";
myEventListener(myEventMessage, function (e) {
if (e.data === "scroll") {
// Do whatever you want to do
}
}, false);