Как вы обнаруживаете window.open (...) из HTA? - PullRequest
0 голосов
/ 10 августа 2010

Я разрабатываю HTA, который будет работать как киоск в нашей приемной.Этот киоск может отображать веб-страницы, которые запускают новые окна, используя метод window.open ().

Что я хочу сделать, это обработать window.open () из моего HTA, поэтому вместо порождения Internet Explorerокно, новое окно появится в плавающем фрейме внутри HTA.

Есть идеи, как мне поступить?

Вот некоторый псевдокод, показывающий идеальный сценарий (хотяЯ знаю, что реальное решение, вероятно, будет более сложным).

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

Есть ли вообще решение VBScript?

1 Ответ

0 голосов
/ 19 августа 2010

Я решил свою конкретную проблему, переопределив "window.open" загруженного IFRAME.Вы можете сделать это в 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>
...