Javascript 查找和回调

Javascript 查找和回调,javascript,windows,mobile,callback,Javascript,Windows,Mobile,Callback,我对WindowsMobile6.5及其附带的标准IE和我开发的网页有一个问题。 在这个web中,我有查找功能,我通过回调进行管理,如下所示: window.callbackFunc = VendorLookUp_callback; window.open('LookUpVendor.aspx?query=' + encodeURIComponent(query)); 因此,我为查找定义了一个回调函数并将其打开。然后,在查找代码中: window.parent.opener.callbackF

我对WindowsMobile6.5及其附带的标准IE和我开发的网页有一个问题。 在这个web中,我有查找功能,我通过回调进行管理,如下所示:

window.callbackFunc = VendorLookUp_callback;
window.open('LookUpVendor.aspx?query=' + encodeURIComponent(query));
因此,我为查找定义了一个回调函数并将其打开。然后,在查找代码中:

window.parent.opener.callbackFunc(document.getElementById('invItmSelected').value);
window.close();
这在Windows Mobile环境下不起作用,会打开查找,但回调函数不起作用,因为:

window.parent.opener = undefined
所以,我无法访问回调函数。我试着:

window.parent.opener
window.top.opener
window.opener
window.parent
window.top
但是,我仍然无法让它工作

该网站与IE9、IE10、Firefox和Chrome的桌面版本配合良好。我也在Firefox和Dolphin for Android上测试了这一点,并开始工作

编辑:我尝试在同一部手机上使用Opera,但它不起作用


有什么想法吗?

一个解决办法是保留对新查找窗口的引用。观察查找窗口,查看其是否正确加载,然后执行回拨

var lookupwin = window.open('LookUpVendor.aspx?query=' + encodeURIComponent(query));
lookupInt = window.setInterval(function(){
  //check if your lookup window is loaded
  if(lookupwin.document.getElementById("#some_element_to_check")){ //look for an element or something
    //if things look good execute your callback
    VendorLookUp_callback();
    window.clearInterval(lookupInt);
  }
}, 0);

抓住吸管,但你能直接在
窗口
对象上访问它吗?i、 e.
window.callbackFunc
。我无法想象为什么这会奏效,但移动windows IE是荒谬的。是的,它有点糟糕……如果你尝试
window.prototype.callbackFunc=VendorLookUp\u callback
window.opener.callbackFunc