如何从 HTA 中检测 window.open(...) ?
我正在开发一个 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 解决方案吗?
I am developing an HTA that will run as a kiosk in our reception area. This kiosk can display web-pages that launch new windows using the window.open() method.
What I want to do is handle window.open() from within my HTA, so instead of spawning an Internet Explorer window, the new window will appear in a floating iframe inside the HTA.
Any ideas as to how I'd go about doing this?
Here is some pseudocode showing an ideal scenario (although I'm aware the actual solution will probably be more complicated).
function onWindowDotOpen(obj)
{
spawnNewIframeTab(obj); // Handle the event in the HTA
return false; // Stop the default behaviour from firing
}
Is there a VBScript solution at all?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我通过覆盖加载的 IFRAME 的“window.open”解决了我的具体问题。您可以在 HTA 中执行此操作,但在常规浏览器中不起作用。
I solved my specific problem by overriding the "window.open" of the loaded IFRAME. You can do this in an HTA, but it won't work in a regular browser.