Гаджет боковой панели Vista не показывает всплывающее окно - System.Gadget.Flyout.show не имеет значения true

У меня происходит очень странная ошибка. Я не могу отобразить всплывающую подсказку на своем гаджете, несмотря на то, что воспроизвел символ кода всплывающей подсказки для персонажа из гаджета, у которого есть всплывающая подсказка, которая работает нормально.

Вот код:

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 основного гаджета, клики будут регистрироваться, а остальная часть кода будет выполняться правильно.

Что происходит, что.show не будет устанавливать вообще? Я проверил известные ошибки, и ни одна из них, похоже, не относится к этому. Это сводит с ума.

1 ответ

Решение

Обновление: вот код, который я использую сейчас:

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. С боковой панелью связана ошибка, из-за которой гаджет теряет фокус, и закрывает всплывающее окно. Я могу только представить, что мне придется обойти это. У меня вопрос: что вызывает потерю фокуса? Bizarre.

Другие вопросы по тегам