从零开始的编程麓 2023-02-03 17:02 采纳率: 100%
浏览 64
已结题

js iframe src变更后找不到新src对应文件的函数问题

变更iframe的src后 无法调用新src文件函数 只能调用旧src的函数
下文 变更的iframe标签的id和name都是“iframeRight”
新的src和旧src都是本机文件

//父级页面
function send_songdata1(data){
            var k=document.getElementById("iframeRight").src
            console.log(k);
            document.getElementById("iframeRight").src="新的src";
            var i=document.getElementById("iframeLeft").src
            console.log(i)
            window.frames["iframeRight"].send_songdata2(data);
}
//旧src设置的函数
function send_songdata2(data){
            console.log(111);
            console.log(data)
            
        }
//新src设置函数
function send_songdata2(data){
            console.log(222);
            console.log(data)
            
        }

运行结果:

img


所以目前已知问题:变更src后 无法调用新src文件里的函数
请求各位指点一下TT

  • 写回答

6条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-03 17:40
    关注

    变了 iframe 的 src 后,你要使用 onload 事件。保证新页面已加载完成,再调用新页面里的函数试试,修改后的:

    // 父级页面
    function send_songdata1(data){
    var iframeRight = document.getElementById("iframeRight");
    console.log(iframeRight.src);
    iframeRight.src="新的src";
    iframeRight.onload = function() {
    window.frames["iframeRight"].send_songdata2(data);
    }
    }
    
    // 旧src设置的函数
    function send_songdata2(data){
    console.log(111);
    console.log(data)
    }
    
    // 新src设置函数
    function send_songdata2(data){
    console.log(222);
    console.log(data)
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 2月11日
  • 已采纳回答 2月3日
  • 创建了问题 2月3日