質問

レセプションエリアでキオスクとして実行されるHTAを開発しています。このキオスクは、Window.open()メソッドを使用して新しいWindowsを起動するWebページを表示できます。

私がやりたいのは、window.open()をHTA内から処理することです。したがって、インターネットエクスプローラーウィンドウを産む代わりに、新しいウィンドウがHTA内の浮遊iframeに表示されます。

私がこれをどのように行うかについてのアイデアはありますか?

理想的なシナリオを示す擬似コードを以下に示します(ただし、実際の解決策はおそらくより複雑になることを知っています)。

function onWindowDotOpen(obj)
{
   spawnNewIframeTab(obj); // Handle the event in the HTA
   return false; // Stop the default behaviour from firing
}

VBScriptソリューションはありますか?

役に立ちましたか?

解決

ロードされたiframeの「window.open」をオーバーライドすることにより、特定の問題を解決しました。これはHTAで行うことができますが、通常のブラウザでは機能しません。

<iframe onload="iframe_onload(this)" src="..."...></iframe>
<script type="text/javascript">
iframe_onload = function(obj)
{
    $(obj).contents().get(0)
    frame.frames.window.open = function(url, name, features, replace)
    {
        ...
    }
}
</script>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top