代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

Windows Vista+边栏小工具是否可以显示网页?

  •  1
  • Jader Dias  · 技术社区  · 14 年前

    我试图让我的小工具HTML导航到另一个页面,但当我尝试通过

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

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

    到目前为止我能做的就是 iframe 小工具HTML中的页面(在 flyout HTML它不起作用),但我试图框架的站点有一个框架检测器,不允许这样做。

    1 回复  |  直到 12 年前
        1
  •  1
  •   Andy E    14 年前

    不能将小工具文件的位置更改为远程位置。有很多方法可以让它发挥作用,但我不记得他们现在是什么样的(或者如果他们是固定在赢7)。还有一个安全风险-小工具比网页具有更高的权限,因此它们可以访问剪贴板、跨域Web请求,并且可以运行未标记为可安全编写脚本的未签名ActiveX控件。

    如果您愿意使用COM,那么可以使用 WebBrowser control 这是Windows附带的,有一定的限制。您将只能与加载控件的原始域通信,如果用户离开此域,访问将被阻止 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 .