我正在尝试让我的Gadget html导航到另一个页面,但当我尝试通过
window.location = 'http://newurl.com'
它会在默认浏览器新窗口中打开地址。
我到目前为止所做的只是iframe
小工具html中的页面(在flyout
html中它不起作用),但我想要框架的网站有一个框架检测器,不允许它。
答案 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控件并代理命令。