Vista 侧边栏小工具未显示弹出窗口 - System.Gadget.Flyout.show 未设置 true

发布于 2024-07-19 07:03:17 字数 622 浏览 7 评论 0原文

我遇到了一个非常奇怪的错误。 尽管我已经从具有运行良好的弹出窗口的小工具中逐个字符地复制了弹出窗口代码,但我仍无法在我的小工具上显示该弹出窗口。

代码如下:

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 根本无法设置,这是怎么回事? 我检查了已知的错误,但似乎没有一个适用于此。 真让人抓狂。

I have a very strange bug going on. I cannot get the flyout to show on my gadget, despite having reproduced the flyout code character for character from a gadget that has a flyout that works fine.

Here's the code:

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;
}


}

The msgJS function provides an ActiveX popup for debugging purposes. Even though I've set .show to true in the previous line, the value is still false when I call the popup. I cannot get the flyout to show, period. At first I thought I was losing click events, but if I stay in the main gadget DOM, the clicks are registering and the remainder of the code executes correctly.

What is going on that .show wouldn't be setting at all? I've checked the known bugs, and none of them seem to apply to this. It's maddening.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明媚如初 2024-07-26 07:03:17

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

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。 侧边栏存在一个错误,小工具将失去焦点并关闭弹出窗口。 我只能想象我将不得不解决这个问题。 我的问题是:是什么导致注意力不集中? 奇怪的。

Update: Here's the code I'm using now:

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;
}

Which shows that the code isn't throwing an exception, and the value of the .show is false. There's a bug associated with the Sidebar where the gadget will lose focus, and that closes the flyout. I can only imagine that I'm going to have to work around it. The question I have is: what's causing the loss of focus? Bizarre.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文