我正在开发一个HTA,它将在我们的接待区作为售货亭运行。该信息亭可以显示使用window.open()方法启动新窗口的网页。
我想要做的是从我的HTA中处理window.open(),因此新窗口将出现在HTA内的浮动iframe中,而不是产生Internet Explorer窗口。
关于我如何做到这一点的任何想法?
这是一些显示理想情况的伪代码(虽然我知道实际的解决方案可能会更复杂)。
function onWindowDotOpen(obj)
{
spawnNewIframeTab(obj); // Handle the event in the HTA
return false; // Stop the default behaviour from firing
}
是否有VBScript解决方案?
答案 0 :(得分: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>