Windows Vista +补充工具栏小工具可以显示网页吗?

时间:2010-08-18 16:19:37

标签: windows-7 windows-vista widget windows-desktop-gadgets

我正在尝试让我的Gadget html导航到另一个页面,但当我尝试通过

window.location = 'http://newurl.com'

它会在默认浏览器新窗口中打开地址。

我到目前为止所做的只是iframe小工具html中的页面(在flyout html中它不起作用),但我想要框架的网站有一个框架检测器,不允许它。

1 个答案:

答案 0 :(得分:1)

您无法将小工具文件的位置更改为远程位置。有办法让它工作,但我不记得他们现在是什么(或者如果他们在Win 7中修复)。还存在安全风险 - 小工具运行的权限比网页更高,因此他们可以访问剪贴板,跨域Web请求,并且可以运行未标记为可安全编写脚本的未签名ActiveX控件。

如果您愿意使用COM,那么您可以使用Windows附带的WebBrowser control,但有一些限制。您只能与加载控件的原始域进行通信,如果用户导航远离此域,则same origin policy将阻止访问。

<OBJECT ID="WebBrowser1" WIDTH=332 HEIGHT=276
     CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
    <PARAM NAME="ExtentX" VALUE="8784">
    <PARAM NAME="ExtentY" VALUE="7303">
    <PARAM NAME="ViewMode" VALUE="1">
    <PARAM NAME="Offline" VALUE="0">
    <PARAM NAME="Silent" VALUE="0">
    <PARAM NAME="RegisterAsBrowser" VALUE="0">
    <PARAM NAME="RegisterAsDropTarget" VALUE="0">
    <PARAM NAME="AutoArrange" VALUE="1">
    <PARAM NAME="NoClientEdge" VALUE="1">
    <PARAM NAME="AlignLeft" VALUE="0">
</OBJECT>

如果您不能忍受这些限制,您唯一的选择是创建自己的ActiveX控件,该控件引用WebBrowser控件并代理命令。

另见http://support.microsoft.com/kb/176789