Гаджет боковой панели Vista не показывает всплывающее окно - System.Gadget.Flyout.show не имеет значения true
-
03-07-2019 - |
Вопрос
У меня очень странная ошибка. Невозможно отобразить всплывающую подсказку на моем гаджете, несмотря на то, что я воспроизвел символ кода всплывающей подсказки для персонажа из гаджета, у которого есть всплывающая подсказка, которая работает нормально.
Вот код:
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 не будет устанавливать вообще? Я проверил известные ошибки, и ни одна из них, похоже, не относится к этому. Это сводит с ума.
Решение
Обновление: вот код, который я сейчас использую:
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.