我正在尝试让我的小工具 html 导航到另一个页面,但是当我尝试通过
window.location = 'http://newurl.com'
它会在默认浏览器的新窗口中打开地址。
到目前为止,我所能做的就是访问iframe
小工具 html 中的页面(在flyout
html 中它不起作用),但是我试图构建的站点有一个框架检测器并且不允许它。
我正在尝试让我的小工具 html 导航到另一个页面,但是当我尝试通过
window.location = 'http://newurl.com'
它会在默认浏览器的新窗口中打开地址。
到目前为止,我所能做的就是访问iframe
小工具 html 中的页面(在flyout
html 中它不起作用),但是我试图构建的站点有一个框架检测器并且不允许它。
您不能将小工具文件的位置更改为远程位置。有办法让它工作,但我不记得它们现在是什么(或者它们是否在 Win 7 中修复)。还有一个安全风险 - 小工具以比网页更高的权限运行,因此它们可以访问剪贴板、跨域 Web 请求,并且可以运行未标记为安全脚本的未签名 ActiveX 控件。
如果你愿意使用 COM,那么你可以使用 windows 自带的WebBrowser 控件,但有一定的限制。您将只能与加载控件的原始域进行通信,如果用户导航离开此域,访问将被同源策略阻止。
<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>
如果您不能忍受这些限制,您唯一的选择是创建您自己的引用 WebBrowser 控件并代理命令的 ActiveX 控件。