jQuery - iframe inside iframe - ready vs load

jQuery - iframe inside iframe - ready vs load

本文关键字:iframe load vs inside jQuery ready      更新时间:2023-09-26

假设我有以下内容:

default.asp:

<iframe src="frameOne.asp" id="myframeOne"></iframe>

frameOne.asp:

<iframe src="frameTwo.asp" id="myframe"></iframe>

frameTwo.asp:

<div id="hello">Test text</div>

为什么下面的不工作(#1):

$("#myframeOne").load(function () {
         $('#myframeOne').contents().find('#myframeTwo').load(function(){
             $('#myframeOne').contents().find('#myframeTwo').contents().find('#hello').css('background-color','blue');
         });
    });
(#2):
 $("#myframeOne").load(function () {
             $('#myframeOne').contents().find('#myframeTwo').ready(function(){
                 $('#myframeOne').contents().find('#myframeTwo').contents().find('#hello').css('background-color','blue');
             });
        });

这个没有(#3):

$("#myframeOne").ready(function () {
                 $('#myframeOne').contents().find('#myframeTwo').ready(function(){
                     $('#myframeOne').contents().find('#myframeTwo').contents().find('#hello').css('background-color','blue');
                 });
            });

正如我所理解的。load等待直到iframe的内容被加载,所以我不太明白为什么它在框架上的行为不同(为什么它在外部框架上应用时有效,而不是在内部框架中)。

对于iframes,我总是使用load函数。我对ready函数也有问题,所以试着用load函数。