Vista边栏小工具没有显示弹出 - System.Gadget.Flyout.show没有设置为true

时间:2009-05-04 17:53:06

标签: javascript dom windows-desktop-gadgets

我有一个非常奇怪的错误。我无法在我的小工具上显示弹出窗口,尽管从一个弹出工作正常的小工具中复制了角色的弹出代码字符。

以下是代码:

function doFly(i){

var div = 'div_' + i;
flyHTML = $(div).html();

if (System.Gadget.Flyout.show == false){

System.Gadget.Flyout.file = "flyout.html";
System.Gadget.Flyout.show = true;
msgJS(System.Gadget.Flyout.show);
}

else{
System.Gadget.Flyout.show = false;
}


}

msgJS函数提供ActiveX弹出窗口以进行调试。即使我在前一行中将.show设置为true,但在调用弹出窗口时该值仍为false。期间我无法展示弹出窗口。起初我以为我正在丢失点击事件,但是如果我留在主要小工具DOM中,点击就会注册,其余的代码会正确执行。

发生了什么。显示根本不会设置?我检查了已知的错误,但似乎没有一个适用于此。这令人抓狂。

1 个答案:

答案 0 :(得分:0)

更新:这是我现在使用的代码:

function doFly(i){

var div = 'div_' + i;
flyHTML = $(div).html();

if (System.Gadget.Flyout.show == false){

    try {
        System.Gadget.Flyout.file = "flyout.html";
        System.Gadget.Flyout.show = true;
        $('a#teamr').text(System.Gadget.Flyout.show);
    }
    catch(e){
        $('a#teamr').text(e);
    }
}

else{
    System.Gadget.Flyout.show = false;
}

这表明代码没有抛出异常,并且.show的值为false。有一个与补充工具栏相关的错误,小工具将失去焦点,并关闭弹出按钮。我只能想象我将不得不解决它。我的问题是:什么导致失去焦点?奇异。