Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > popup focus() behaviour with moz, firefox, ie

Reply
Thread Tools

popup focus() behaviour with moz, firefox, ie

 
 
Alex.Svetos@gmail.com
Guest
Posts: n/a
 
      04-20-2006
Hello,

I'm trying to get a popup to keep focus when it is re-clicked.
The script below is supposed to produce this exact behaviour,
however it doesn't work, at least on firefox 1.0.7 and moz 1.7.12
(linux kubuntu). It does work with konqueror.
It seems to work with firefox on windows but not with IE (not completly
sure though).


<script type="text/javascript">
var WindowObjectReference = null; // global variable

function openFFPromotionPopup()
{
if(WindowObjectReference == null || WindowObjectReference.closed)
/* if the pointer to the window object in memory does not exist
or if such pointer exists but the window was closed */

{
WindowObjectReference =
window.open("http://www.spreadfirefox.com/",
"PromoteFirefoxWindowName",
"resizable=yes,scrollbars=yes,status=yes");
/* then create it. The new window will be created and
will be brought on top of any other window. */
}
else
{
WindowObjectReference.focus();
/* else the window reference must exist and the window
is not closed; therefore, we can bring it back on top of any
other
window with the focus() method. There would be no need to
re-create
the window or to reload the referenced resource. */
};
}
</script>

(...)

<p><a href="http://www.spreadfirefox.com/"
target="PromoteFirefoxWindowName"
onclick="openFFPromotionPopup(); return false;"
title="This link will create a new window or will re-use
an already opened one">Promote Firefox adoption</a></p>


The weird thing is... it is copied from
http://developer.mozilla.org/en/docs....open#Examples !

I must mention that i've activated javscript and allowed it to control
focus with firefox and even disabled bpopup blocking, but it didn't
helped , neither did the many variante i've found on the web or in
this newsgroup.

I'm really clueless, but i'm just catching up with javascript so i hope
i've missed an obvious point.




So if anyone

 
Reply With Quote
 
 
 
 
Thomas 'PointedEars' Lahn
Guest
Posts: n/a
 
      04-21-2006
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:

> I'm trying to get a popup to keep focus when it is re-clicked.


Don't.


PointedEars
 
Reply With Quote
 
 
 
 
Alex.Svetos@gmail.com
Guest
Posts: n/a
 
      04-21-2006
>Don't.
thx a lot ah

 
Reply With Quote
 
Thomas 'PointedEars' Lahn
Guest
Posts: n/a
 
      04-21-2006
(E-Mail Removed) wrote:

>> Don't.

> thx a lot ah


My first followup probably was not enlightening enough

The reason why what you are trying to do is a Bad Thing:

<URL:http://www.faqs.org/faqs/x-faq/part7/section-42.html>
(This is about programming for the X Window System, but I'm sure you get the
idea anyway.)

Focusing the window most certainly does not work with your Gecko-based
UAs because there are Preferences with which the user can prevent you
from "stealing" the focus, that are enabled by default. Too many
clueless script-kiddies have attempted this in the past.

Please provide attribution of quoted material next time:

<URL:http://jibbering.com/faq/faq_notes/pots1.html>
<URL:http://www.safalra.com/special/googlegroupsreply/>


PointedEars
 
Reply With Quote
 
Alex.Svetos@gmail.com
Guest
Posts: n/a
 
      04-22-2006
Thomas 'PointedEars' Lahn a écrit :

> (E-Mail Removed) wrote:
>
> >> Don't.

> > thx a lot ah

>
> My first followup probably was not enlightening enough
>
> The reason why what you are trying to do is a Bad Thing:
>
> <URL:http://www.faqs.org/faqs/x-faq/part7/section-42.html>
> (This is about programming for the X Window System, but I'm sure you get the
> idea anyway.)
>
> Focusing the window most certainly does not work with your Gecko-based
> UAs because there are Preferences with which the user can prevent you
> from "stealing" the focus, that are enabled by default. Too many
> clueless script-kiddies have attempted this in the past.


You certainly didn't read my post, i'm not trying to get a popup
constantly on top as you say, but simply to get it on top again when
you click on the main page link.
Once again the preferences to allow it are set in firefox.

Both of your replies are disrespectfull.

 
Reply With Quote
 
ASM
Guest
Posts: n/a
 
      04-22-2006
(E-Mail Removed) a écrit :
>
> You certainly didn't read my post, i'm not trying to get a popup
> constantly on top as you say, but simply to get it on top again when
> you click on the main page link.


Was your post very understanding ?
"I'm trying to get a popup to keep focus when it is re-clicked."
which is a non sens : if popup is clicked it has/get focus

So what we'll remember except 'keep focus' ?
(bad thing to do)

The script you've given is (allmost) correct and have to run as is
- a new popup on 1st call
- same popup comming to front with next calls

> Once again the preferences to allow it are set in firefox.


I never fix preferences to stop all popups, only those comming automaticaly.
How to imagine you did stop all popups.

> Both of your replies are disrespectfull.


Not first one
Please try to re-read yourself.



--
Stephane Moriaux et son [moins] vieux Mac
 
Reply With Quote
 
Thomas 'PointedEars' Lahn
Guest
Posts: n/a
 
      04-22-2006
(E-Mail Removed) wrote:

> Thomas 'PointedEars' Lahn a écrit :
>> (E-Mail Removed) wrote:
>> >> Don't.
>> > thx a lot ah

>>
>> My first followup probably was not enlightening enough
>>
>> The reason why what you are trying to do is a Bad Thing:
>>
>> <URL:http://www.faqs.org/faqs/x-faq/part7/section-42.html>
>> (This is about programming for the X Window System, but I'm sure you get
>> the idea anyway.)
>>
>> Focusing the window most certainly does not work with your Gecko-based
>> UAs because there are Preferences with which the user can prevent you
>> from "stealing" the focus, that are enabled by default. Too many
>> clueless script-kiddies have attempted this in the past.

>
> You certainly didn't read my post,


Certainly I could not read your thoughts.

> i'm not trying to get a popup constantly on top as you say,


| I'm trying to get a popup to keep focus when it is re-clicked.

You will excuse me if "keep" reads as "constantly" to me.

> but simply to get it on top again when you click on the main page link.


OK.

> Once again the preferences to allow it are set in firefox.


Sorry, I missed that.

> Both of your replies are disrespectfull.


No, it was not. Besides, respect has to be earned, and you got what you
paid for.

Besides:

| The weird thing is... it is copied from
| http://developer.mozilla.org/en/docs....open#Examples

MDC is a Wiki, so anybody can post nonsense there (and partially did in this
case). However, the code you have posted (which is not necessarily the
code you are using) works here (provided _all_ prefs are set accordingly).

There can be several reasons why it would not work with you. Try
to find them out by debugging the code. See also the lower part of
news:(E-Mail Removed)


Score adjusted

PointedEars
 
Reply With Quote
 
Csaba Gabor
Guest
Posts: n/a
 
      04-23-2006
(E-Mail Removed) wrote:
> I'm trying to get a popup to keep focus when it is re-clicked.


As you understand by now, this statement of the problem is
incorrect. Rather, you are trying to have a previously created
popup regain focus when a link or button activating it is
clicked.

> The script below is supposed to produce this exact behaviour,
> however it doesn't work, at least on firefox 1.0.7 and moz 1.7.12
> (linux kubuntu). It does work with konqueror.
> It seems to work with firefox on windows but not with IE (not completly
> sure though).


Indeed, this is a classic case of protectionism run amok.
IE and FF both let you create a named window which they will bring to
the top, especially provided that it was some user instigated
through some user initiated action, such as clicking.

To be clear, this is not a case of a window/app trying to
raise itself to the top. The main window is already at the top,
so if it wants to have a child window come to the top (which may
be viewed as part of the same (already in focus) application),
which it could do anyway with window.open, what is the problem
in allowing window.focus()?

That is to say, it makes eminent sense that if a window, B,
which was created by window A, comes to the top upon creation,
that the same window B should come to the top upon a user
initiated action leading to windowB.focus() The really silly
way around this is to close windowB and then recreate it, which
only serves to drive up internet traffic.

This problem and two ways of dealing with it on FF are described at
https://bugzilla.mozilla.org/show_bug.cgi?id=318535
If you agree with the assessment, I suggest voting for the bug
to give it more visibility.

Unfortunately, I don't know of a nice workaround (other than the
brute force method in the bug report) for my IE 6 on Win XP Pro.
IE will flash the tab at the bottom of my window, but that's a
poor substitute for bringing it to the top.

Csaba Gabor from Vienna
 
Reply With Quote
 
Gérard Talbot
Guest
Posts: n/a
 
      04-26-2006
(E-Mail Removed) wrote :
> Thomas 'PointedEars' Lahn a écrit :
>
>> (E-Mail Removed) wrote:
>>
>>>> Don't.
>>> thx a lot ah

>> My first followup probably was not enlightening enough
>>
>> The reason why what you are trying to do is a Bad Thing:
>>
>> <URL:http://www.faqs.org/faqs/x-faq/part7/section-42.html>
>> (This is about programming for the X Window System, but I'm sure you get the
>> idea anyway.)
>>
>> Focusing the window most certainly does not work with your Gecko-based
>> UAs because there are Preferences with which the user can prevent you
>> from "stealing" the focus, that are enabled by default. Too many
>> clueless script-kiddies have attempted this in the past.

>
> You certainly didn't read my post, i'm not trying to get a popup
> constantly on top as you say, but simply to get it on top again when
> you click on the main page link.
> Once again the preferences to allow it are set in firefox.


Such preference and control is entirely up to the user if he finds the
setting and understand how good or bad the setting can be for his web
experience. Chances are that a very wide majority of users won't know
what "Raise or lower windows" implies and means, so they will trust the
default Firefox setting and will not allow your script to bring back the
secondary window when clicking the link again.

I am personally against the current default value. I tried to educate
the people on what that setting means.
See
http://www.gtalbot.org/FirefoxSectio...seLowerSetting
But then again, if the content is important to be read, seen, then I do
not recommend that you use a secondary window.

Thomas 'PointedEars' Lahn is abrasive, arrogant, even hostile at times
but he's right about not relying, not hoping too much on a focus() call
to work, at least, all the times. It's all up to the user in the final
instance. And, if your webpage design is sound, accessibility-oriented,
then even users with "Raise or lower windows" unchecked should be able
to access your content without a problem. Chances are that if you follow
the usability guidelines and recommendations given at
http://developer.mozilla.org/en/docs/DOM:window.open
then the user will know there is another secondary window and
tab-capable browser users will not open your document in a secondary
window but most likely into a tab.

Gérard
--
remove blah to email me
 
Reply With Quote
 
Gérard Talbot
Guest
Posts: n/a
 
      04-26-2006
Csaba Gabor wrote :
> (E-Mail Removed) wrote:
>> I'm trying to get a popup to keep focus when it is re-clicked.

>
> As you understand by now, this statement of the problem is
> incorrect. Rather, you are trying to have a previously created
> popup regain focus when a link or button activating it is
> clicked.
>
>> The script below is supposed to produce this exact behaviour,
>> however it doesn't work, at least on firefox 1.0.7 and moz 1.7.12
>> (linux kubuntu). It does work with konqueror.
>> It seems to work with firefox on windows but not with IE (not completly
>> sure though).

>
> Indeed, this is a classic case of protectionism run amok.
> IE and FF both let you create a named window which they will bring to
> the top, especially provided that it was some user instigated
> through some user initiated action, such as clicking.
>


It's not that simple. A secondary window could have been brought up
legitimately; after some time, it could be reloaded with advertisement
content. Or who knows; a second click on a link could load a different
document. There are lots of possibilities, variations which a persistent
scripter could take advantage of.

> To be clear, this is not a case of a window/app trying to
> raise itself to the top.


A setTimeout can do that though.
Some people create a modal window with
<body onblur="self.focus();">
you see.

The main window is already at the top,
> so if it wants to have a child window come to the top (which may
> be viewed as part of the same (already in focus) application),
> which it could do anyway with window.open, what is the problem
> in allowing window.focus()?
>


The window is not per se the problem: its content (actual, future,
potential) is. When a browser prevents an unrequested popup, it's not so
much the window that is the problem as it is its content (advertisement,
spamming content, annoyance of being served scam ads or anything which
is not related to the reasons to visit a site in the first place).

If you visit some sites like netscape.com and yahoo.com, they are now
using DHTML layers to convey advertisement. No secondary windows
involved. But the same boring, annoying advertisement pollution.

> That is to say, it makes eminent sense that if a window, B,
> which was created by window A, comes to the top upon creation,
> that the same window B should come to the top upon a user
> initiated action leading to windowB.focus() The really silly
> way around this is to close windowB and then recreate it,


There are scripts available on the web that do exactly that: as the user
reclicks the link, the script closes windowB and then recreate it entirely.

See the 9th link at
https://bugzilla.mozilla.org/attachm...49&action=view

which
> only serves to drive up internet traffic.
>
> This problem and two ways of dealing with it on FF are described at
> https://bugzilla.mozilla.org/show_bug.cgi?id=318535
> If you agree with the assessment, I suggest voting for the bug
> to give it more visibility.
>


The bug hasn't even been confirmed yet!
And the bug is about respecting and maintaining user settings when
upgrading Fx.

> Unfortunately, I don't know of a nice workaround (other than the
> brute force method in the bug report) for my IE 6 on Win XP Pro.


How about simply not using window.open() if your content is important
for the users to read, otherwise warn accordingly users about a
secondary window and do not rely too much on such window.open() +
window.focus() call.

Gérard
--
remove blah to email me
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
debugger behaviour different to execution behaviour Andy Chambers Java 1 05-14-2007 09:51 AM
ASP.NET JavaScript Popup, No Popup Using Back Button dapkniht ASP .Net 1 03-08-2006 08:49 AM
Popup Window Popup Timing =?Utf-8?B?Sm9obiBXYWxrZXI=?= ASP .Net 3 11-04-2005 07:33 PM
strange popup behaviour | IE 6.xx vs. everything else cooch17@NOSPAMverizon.net Javascript 10 12-08-2004 11:55 PM
Main > Popup > Popup > Close popup AND new URL in main? Jens Peter Hansen Javascript 7 06-19-2004 08:56 PM



Advertisments