我想在函数导航到另一个标签之前设置一个特定的超时时间。
somefunc: function() {
PageFrame.goToTab('test', function(item) {
if(!item.search){
return false;
}
//else do some stuff
}, this);
}
问题是当调用PageFrame.goToTab
重定向到“#test”页面时,测试页面还没有完全加载,因此我在item.search
上得到一个未定义的,尽管它在错误已被抛出。因此,我想为函数添加一个超时,等待页面加载,然后检查这个条件:if(!item.search){}
我怎样才能做到这一点?
答案 0 :(得分:0)
正如Jaromand X所说,您应该使用一个事件来告诉您页面何时完全加载而不是设置超时。来自MDN Documentation " GlobalEventHandlers mixin的onload属性是Window,XMLHttpRequest,element等的load事件的事件处理程序,它在资源加载时触发。&#34 ;
这意味着一旦窗口内容完成加载,就会触发onload事件。
要使用此类活动,您必须提供帮助和事件处理程序'这是一个在事件触发时运行的函数。
在你的情况下你应该这样做:
gsub
所以你' somefunc'将在onload事件触发时运行。你不写window.onload = somefunc();因为你指定为事件处理程序的是指向你的函数的指针。
答案 1 :(得分:0)
somefunc: function() {
setTimeout(function() {
PageFrame.goToTab('test', function(item) {
if(!item.search){
return false;
}
//else do some stuff
}, this);
}, 5000);
}