Sidebar Gadget 的开发的一些问答

本文发布于 16 年前,部分内容可能已经失去参考价值。

  • Gadget当中如何含有设置界面?即那个类似于小板手似的图标?

其实这个问题的答案很简单,只需要在主界面所关联的Javascript中加入一句:System.Gadget.settingsUI = "settings.htm";即可,该语句中的settings.htm可以取代为其它名字.

  • 如何使Gadget出现Flyout界面?

这个问题如上所示,只需要加一句:System.Gadget.Flyout.file="flyout.htm" 即可,同理,此句中的flyout.htm也可以换成其它的文件名。在需要显示Flyout界面时(比如某个超链接点击事件,或者某个图片控件的双击事件),调用System.Gadget.Flyout.show=true即可,不需要其它设置。当然,你可以在显示时进行一些其它的处理,那么可以调用它的事件函数即System.Gadget.Flyout.onShow(指向一个函数名),其对应的隐藏事件函数为System.Gadget.Flyout.onHide函数

  • 如何得到系统信息?

Sidebar为Javascript扩充了一些API,用于执行外部命令,或者得到系统信息,或者对于Gadget内部本身的调用(如上面的Flyout以及SettingsUI),关于这些API的详细信息,可以参阅:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sidebar/sidebar/reference/refs.asp 得到更加详细的信息。

  • 如何在没有使用ASP.NET AJAX框架的基础上出现局部刷新效果?

更加简单了,使用Microsoft XMLHTTP这个函数的异步调用方式,关于XMLHTTP的更加详细信息,可以参阅相关信息。其中有关于如何实现异步调用的。另外,在调用时,如果遇到IE缓存问题,可以使用setRequestHeader("If-Modified-Since","0")方式解决(感谢Symbio提供信息),而分析XML,可以使用Microsoft XMLDom来进行。

  • 有些Gadget当置放在Sidebar上显示样式是一种,而拖到桌面上会有另外一种显示方式,这是如何实现的?

这个更简单了,查看了下这些Gadget的源代码,可以知道,通过Gadget的System.Gadget.docked的属性可以得到其是否放置在Sidebar上(当为True时,是在Sidebar上),然后再调用JS来对于其CSS特性进行更改即可。

转自 网络(如侵权请联系删除) 17 年前
可能相关的内容