Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 到达iframe底部时触发功能_Javascript_Jquery_Html_Iframe - Fatal编程技术网

Javascript 到达iframe底部时触发功能

Javascript 到达iframe底部时触发功能,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我有一个iframe可以动态调整它的大小。我通过在父页面上发布一条帖子和一个监听器解决了这个问题,所以每次iframe的内容改变时,iframe的大小也会改变,而且永远不会有滚动条 在iframe中,我显示了一个列表,每次到达iframe的底部时,我都想将新项目附加到列表中 对我来说,在到达父页面底部时触发该函数也会起作用,因此我尝试: document.getElementById('targetFrame').contentWindow.targetFunction(); 但由于跨域来源,

我有一个iframe可以动态调整它的大小。我通过在父页面上发布一条帖子和一个监听器解决了这个问题,所以每次iframe的内容改变时,iframe的大小也会改变,而且永远不会有滚动条

在iframe中,我显示了一个列表,每次到达iframe的底部时,我都想将新项目附加到列表中

对我来说,在到达父页面底部时触发该函数也会起作用,因此我尝试:

document.getElementById('targetFrame').contentWindow.targetFunction();
但由于跨域来源,因此禁止使用。


有什么方法可以完成我想做的吗?

谢谢你们的支持

我现在用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);

尝试使用iframe传递跨域标头。标题类似于访问控制允许原点:http://www.parentsite.com或
访问控制允许原点: