我的iframe历史记录有一组控制变量。在iframe完全加载后(当用户clic在iframe内的某个链接上时)它会发生变化
$('#iframe').load(function(){
if ((action == 'forward')) {
window.historyControl+=1;
} else {
window.historyControl-=1;
}
});
对于我尝试做的事情,它工作得很好但是当用户在iframe完全加载之前更改iframe网址时,.load()
函数不会执行。
如果我将其放在vanilla javascript中并使用iframe中的onLoad=()
参数调用该函数,也会发生同样的情况。
有没有办法在iframe加载他的内容时执行一些javascript代码?
我无法控制iframe内容。
答案 0 :(得分:0)
您可以使用$('#iframe').ready(function(){...})
。当iframe的DOM结构准备好时,回调将执行,而.load()
回调仅在加载图像等时执行。资料来源:jQuery - What are differences between $(document).ready and $(window).load?
答案 1 :(得分:0)
在追踪@MarcosPérezGude之后,我在iframe的php文件中的<head>
之上添加了一个脚本。它会触发一个函数
<script>window.parent.myFunction();</script>"
在父窗口的函数中,我执行我的代码
function myFunction() {
if ((action == 'forward')) {
window.historyControl+=1;
} else {
window.historyControl-=1;
}
}