Javascript 如何在没有onload事件的情况下检测Iframe何时更改位置并触发函数?
我想检测IFrame何时更改位置,但不使用onload事件,实际上,我需要在IFrame位置更改后触发一个函数,以验证URL列表,如果新位置在我的列表中,则在父视图上执行一些操作。 这是我需要触发的实际函数,但就在iframe新url开始加载之前,这就是为什么事件onload与我需要的不匹配Javascript 如何在没有onload事件的情况下检测Iframe何时更改位置并触发函数?,javascript,jquery,iframe,Javascript,Jquery,Iframe,我想检测IFrame何时更改位置,但不使用onload事件,实际上,我需要在IFrame位置更改后触发一个函数,以验证URL列表,如果新位置在我的列表中,则在父视图上执行一些操作。 这是我需要触发的实际函数,但就在iframe新url开始加载之前,这就是为什么事件onload与我需要的不匹配 function onLoadFrame() { var a = document.getElementById("cont").contentWindow.location.href;
function onLoadFrame() {
var a = document.getElementById("cont").contentWindow.location.href;
if ((a.indexOf("MainDashboard") > -1) || (a.indexOf("AccountManagement") > -1) || (a.indexOf("workspace_home") > -1)) {
$('#nav-bar').fadeOut(0);
$('#u-left-panel').fadeOut(0);
$("#content").css({ marginLeft: "0px" });
} else {
$('#nav-bar').fadeIn(0);
$('#u-left-panel').fadeIn(0);
$("#content").css({ marginLeft: "40px" });
}
}
更新
实际上,我需要验证正在加载到框架中的新url或位置,以便触发一个函数,该函数显示或隐藏新url上的导航栏解除挂起,这样看起来就不会像是延迟了我在这里找到了如何使用帮助来实现我想要的功能: 这是我的最后一段代码,类似于hi-jack的链接,以获得功能
$('a[target="contenido"]').bind('click', function () {
activateNavBar($(this).attr("href"));
});
function bindFunctionToLinks() {
$("#cont").contents().find('a[target = "contenido"]').bind("click", function () {
activateNavBar($(this).attr("href"));
});
}
在iframe调用中触发url更改的内容是否在父对象中具有函数?不是很好,但是有一个函数可以轮询iframe的位置吗?或者从这里尝试第二个答案:iframe内容是来自您自己的网站还是可以是任何网站的内容?框架上的内容将是我自己网站的url,我会用事件onload触发函数onloadframe,这是iframe代码,然后只需遵循@RobertMcKee的链接和提示。。。它为您提供了解决方案。实际上,onload事件在iframe完成后触发,以加载所有内容,因此我需要在iframe内容就绪后触发的函数对我不起作用…我需要更改iframe src,然后触发该函数,然后开始加载新url的内容