Comment détectez-vous window.open (...) à partir d'une HTA?
-
27-09-2019 - |
Question
Je développe une HTA qui se déroulera comme un kiosque dans notre zone de réception. Ce kiosque peut afficher des pages web qui lancent de nouvelles fenêtres à l'aide de la méthode window.open ().
Ce que je veux faire est de poignée window.open () à partir de mon HTA, donc au lieu de fraie une fenêtre Internet Explorer, la nouvelle fenêtre apparaît dans un iframe flottant à l'intérieur du Code de la route.
Toutes les idées sur la façon dont je vais prendre?
Voici quelques pseudo-code montrant un scénario idéal (même si je suis au courant sera probablement plus compliquée la solution réelle).
function onWindowDotOpen(obj)
{
spawnNewIframeTab(obj); // Handle the event in the HTA
return false; // Stop the default behaviour from firing
}
Y at-il une solution VBScript du tout?
La solution
Je résolu mon problème spécifique en redéfinissant la « window.open » du IFRAME chargé. Vous pouvez le faire dans une HTA, mais il ne fonctionnera pas dans un navigateur régulier.
<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>