0

我正在开发一个 HTA,它将在我们的接待区作为信息亭运行。此信息亭可以显示使用 window.open() 方法启动新窗口的网页。

我想做的是在我的 HTA 中处理 window.open(),因此新窗口不会生成 Internet Explorer 窗口,而是会出现在 HTA 内的浮动 iframe 中。

关于我将如何做这件事的任何想法?

这是一些显示理想场景的伪代码(尽管我知道实际的解决方案可能会更复杂)。

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

有没有 VBScript 解决方案?

4

1 回答 1

0

我通过覆盖加载的 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>
于 2010-08-19T05:09:12.660 回答