1

ガジェットhtmlを作成して別のページに移動しようとしていますが、

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

デフォルトのブラウザの新しいウィンドウでアドレスを開きます。

これまでにできることはiframe、ガジェットhtmlのページ(flyouthtmlでは機能しませんでした)にアクセスすることだけですが、フレーム化しようとしているサイトにはフレーム検出器があり、許可されません。

4

1 に答える 1

1

ガジェットファイルの場所をリモートの場所に変更することはできません。それを機能させる方法はいくつかありますが、それらが現在何であるか(またはWin 7で修正されたかどうか)は覚えていません。セキュリティ上のリスクもあります。ガジェットはWebページよりも高い特権で実行されるため、クリップボードやクロスドメイン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コントロールを作成し、コマンドをプロキシすることです。

http://support.microsoft.com/kb/176789も参照してください。

于 2010-08-21T16:24:22.100 に答える