window.focus() und IE8
Fred
- javascript
Ich habe das Problem, dass im IE8 die Funktion window.focus() nicht wie in IE7 oder FF (mit "Fenster vor oder hinter andere Fenster legen" aktiviert) funktioniert.
folgendes Minimalbeispiel:
<head>
<title>Focussing</title>
<script type="text/javascript">
var nw = new Object();
var aw = new Array( "Ja", "Bitte", "Du hast gerufen", "Ich eile" );
function onw()
{
nw = window.open("", "Zweitfenster", "width=300,height=400,left=100,top=200");
nw.document.write( "<p>Ich bin ein neues Fenster!<p>" );
// nw.focus();
}
function fnw()
{
try
{
x = Math.round(Math.random() * 100 ) % aw.length;
setTimeout("nw.focus()",2000);
nw.document.write( "<p>"+aw[x]+" Meister!<p>" );
}
catch( e )
{
onw();
};
}
</script>
</head>
<body>
<a href="javascript:onw()">Neues Fenster</a><br/>
<a href="javascript:fnw()">Hol's nach vorn!</a>
</body>
</html>
Klick auf "Neues Fenster" öffnet das Fenster
Klick auf "Hol's nach vorn!" schreibt einen Text ins Fenster und soll es in den Vordergrund befördern.
Im IE8 wird der Text ins 2. Fenster geschrieben und danach beginnt das Icon des neuen Fensters in der Taskleiste zu blinken. Sonst passiert nichts.
Wo liegt der Fehler?
Wie kann ich die gewünschte Funktionalität erreichen?
oder welche Alternativen gibt es?
Yerf!
Im IE8 wird der Text ins 2. Fenster geschrieben und danach beginnt das Icon des neuen Fensters in der Taskleiste zu blinken. Sonst passiert nichts.
Wo liegt der Fehler?
Ich hätt jetzt gesagt: an deinen Einstellungen von Windows. Das ein Fenster sich nicht automatisch den Fokus holen kann, sondern nur in der Taskleiste blinkt ist zumindest ein Feature von Windows (frag mich aber jetzt nicht, wo man das evtl. konfigurieren kann).
Gruß,
Harlequin
Yerf!
»» Im IE8 wird der Text ins 2. Fenster geschrieben und danach beginnt das Icon des neuen Fensters in der Taskleiste zu blinken. Sonst passiert nichts.
»»
»» Wo liegt der Fehler?Ich hätt jetzt gesagt: an deinen Einstellungen von Windows. Das ein Fenster sich nicht automatisch den Fokus holen kann, sondern nur in der Taskleiste blinkt ist zumindest ein Feature von Windows (frag mich aber jetzt nicht, wo man das evtl. konfigurieren kann).
Gruß,
Harlequin
Es geht hier zunächst um IE8 unter Windows XP Pro. Ich habe dem Problem schon einige Zeit gewidmet, vor allem in Suchmaschinen. Das Resultat war sehr dürftig.
Hi,
bitte zitiere vernünftig!
Ich hätt jetzt gesagt: an deinen Einstellungen von Windows. Das ein Fenster sich nicht automatisch den Fokus holen kann, sondern nur in der Taskleiste blinkt ist zumindest ein Feature von Windows (frag mich aber jetzt nicht, wo man das evtl. konfigurieren kann).
So ist es.
Es geht hier zunächst um IE8 unter Windows XP Pro. Ich habe dem Problem schon einige Zeit gewidmet, vor allem in Suchmaschinen. Das Resultat war sehr dürftig.
http://pcsupport.about.com/od/windowsxp/ht/stealingfocus01.htm
http://pcsupport.about.com/od/windowsxp/ht/stealingfocus02.htm
MfG ChrisB
http://pcsupport.about.com/od/windowsxp/ht/stealingfocus01.htm
http://pcsupport.about.com/od/windowsxp/ht/stealingfocus02.htm
Vielen Dank,
ForegroundLockTimeout auf 0 setzen und das Script funktioniert im IE8 wie gewünscht.
Leider ist diese Lösung nicht komfortabel und lässt sich bei Kunden nicht durchsetzen. Besser wäre eine Einstellung im IE8, analog dem FF, um die Registryeinstellung zu umgehen. Leider finde ich dazu nichts.
mfg
Fred
Hi,
nw.document.write( "<p>Ich bin ein neues Fenster!<p>" );
BTW: Du mußt das Dokument auch schließen, wenn Du mit der Ausgabe fertig bist!
Gruß, Cybaer