Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Thierry Koblentz
Jan Brasna wrote:
> Sorry Thierry, I really don't understand you on this. As I wrote - the
> browser doesn't (==shouldn't) ignore anything. Fullstop.

NP, see my answer to Gez.
I think I know now why the return false statement is not respected.

>>> Eg. older Operas.
>>
>> That'd show that they considered previous versions of their blocker
>> as "flawed", no?
>
> Or it shows that they had to fix programmers' mistakes in the favor of
> the poor end users...

I'm not sure they fix anything actually. I think everybody out there using
statements past a call to window.open is in trouble...

Thierry | www.TJKDesign.com

**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Thierry Koblentz
Gez Lemon wrote:
> In this example, Thierry, there are two completely separate
> statements. Programmatically, they're not dependent on each other, and
> should be executed sequentially. Any structured scripting/programming
> language that breaks the sequence construct is broken. It's a
> fundamental structured programming concept; statements are executed
> sequentially. If logic is required, then it should be added by the
> programmer using selection or iteration constructs, which may then
> cause the execution to take different paths. I would sooner
> programmers coded responsibly than have a browser that started to
> second guess what I was trying to achieve. The example I provided
> earlier is a good example of where the behaviour you're describing for
> Opera would be incorrect.

I understand the concept, and I don't think anybody would disagree with you.
Actually, that's why I thought Opera was a "smart" blocker, being able to
make a choice regarding 2 *separate* statements.
But I believe now that the reality is very different.
Jan said that the method was "processed", but I start thinking that in fact
the blocker skips the whole thing as it would in the presence of a script
error.
I believe if the return false statement is "ignored", it's simply because
the browser doesn't "get to it", it's that simple.
I just tried:
window.open(this.href);alert('whatever');return false;
and didn't get the alert box
I think this is an important point, because as you said, it breaks the
sequence.

Best regards,
Thierry | www.TJKDesign.com

**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Jan Brasna

It does not ignore it! The method is fired successfully, but the
environment processing it just does not open new window and tells the
method to return false. It is not ignored in any way.


The "environment processing it just does not open new window" vs. "it
ignores it"...
Is that supposed to answer the question about the *return false* statement
that is "ignored" by the browser (Opera in this case)?


Sorry Thierry, I really don't understand you on this. As I wrote - the 
browser doesn't (==shouldn't) ignore anything. Fullstop.



Eg. older Operas.


That'd show that they considered previous versions of their blocker as
"flawed", no?


Or it shows that they had to fix programmers' mistakes in the favor of 
the poor end users...


--
Jan Brasna aka JohnyB :: www.alphanumeric.cz | www.janbrasna.com
**
The discussion list for  http://webstandardsgroup.org/

See http://webstandardsgroup.org/mail/guidelines.cfm
for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Thierry Koblentz
Jan Brasna wrote:
>> In this particular case, if you consider normal to arbitrary ignore
>> the "window.open" statement [...]
>
> It does not ignore it! The method is fired successfully, but the
> environment processing it just does not open new window and tells the
> method to return false. It is not ignored in any way.

The "environment processing it just does not open new window" vs. "it
ignores it"...
Is that supposed to answer the question about the *return false* statement
that is "ignored" by the browser (Opera in this case)?

>> FMI, do you actually know blockers that kill these links?
>
> Eg. older Operas.

That'd show that they considered previous versions of their blocker as
"flawed", no?

Thierry | www.TJKDesign.com

**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Gez Lemon
On 16/08/05, Thierry Koblentz <[EMAIL PROTECTED]> wrote:
> I'm talking about a simple:
> onclick="window.open(this.href,'myPopup'); return false;"
> In this particular case, if you consider normal to arbitrary ignore the
> "window.open" statement, then why do you consider "outrageous" to ignore
> "return false". IMO, that's a smart way for a blocker to give control to the
> user over the popups without killing the links.
> I know Opera's blocker behaves this way, so if it violates ECMA-262 I
> believe it's for a good cause ;).

In this example, Thierry, there are two completely separate
statements. Programmatically, they're not dependent on each other, and
should be executed sequentially. Any structured scripting/programming
language that breaks the sequence construct is broken. It's a
fundamental structured programming concept; statements are executed
sequentially. If logic is required, then it should be added by the
programmer using selection or iteration constructs, which may then
cause the execution to take different paths. I would sooner
programmers coded responsibly than have a browser that started to
second guess what I was trying to achieve. The example I provided
earlier is a good example of where the behaviour you're describing for
Opera would be incorrect.

Best regards,

Gez

-- 
_
Supplement your vitamins
http://juicystudio.com
**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Jan Brasna

In this particular case, if you consider normal to arbitrary ignore the
"window.open" statement [...]


It does not ignore it! The method is fired successfully, but the 
environment processing it just does not open new window and tells the 
method to return false. It is not ignored in any way.



FMI, do you actually know blockers that kill these links?


Eg. older Operas.

--
Jan Brasna aka JohnyB :: www.alphanumeric.cz | www.janbrasna.com
**
The discussion list for  http://webstandardsgroup.org/

See http://webstandardsgroup.org/mail/guidelines.cfm
for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Thierry Koblentz
Gez Lemon wrote:
> I've no idea whether Opera does ignore return false statements, but it
> would be outrageous if it did as it completely violates ECMA-262.
> Ignoring whether or not it's good practice to have JavaScript
> statements in an inline event handler, it is legal, and each statement
> should be considered standalone. It's up to the programmer to add the
> control structures to determine which paths are followed, not a
> browser based on the presence of a function call.

Jan, Gez,
I'm talking about a simple:
onclick="window.open(this.href,'myPopup'); return false;"
In this particular case, if you consider normal to arbitrary ignore the
"window.open" statement, then why do you consider "outrageous" to ignore
"return false". IMO, that's a smart way for a blocker to give control to the
user over the popups without killing the links.
I know Opera's blocker behaves this way, so if it violates ECMA-262 I
believe it's for a good cause ;).

FMI, do you actually know blockers that kill these links?

Thierry | www.TJKDesign.com

**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Gez Lemon
On 16/08/05, Thierry Koblentz <[EMAIL PROTECTED]> wrote:
> I see one. In that particular case, such behaviour makes sure that the user
> still can reach the href value. IMO, it makes sense,
> and AFAIK, that's how Opera's blocker works. It ignores *both* statements,
> "window.open" *and* "return false".
> That's why I didn't really see the need for testing for "window.open" to
> begin with, because in my mind a blocker that ignores "window.open" in an
> anchor should honour the href value.

I've no idea whether Opera does ignore return false statements, but it
would be outrageous if it did as it completely violates ECMA-262.
Ignoring whether or not it's good practice to have JavaScript
statements in an inline event handler, it is legal, and each statement
should be considered standalone. It's up to the programmer to add the
control structures to determine which paths are followed, not a
browser based on the presence of a function call.

For example, suppose I decided to use the return value of window.open
to determine whether or not to add a block of content within the
current document for user-agents that support scripting. If it ignores
the return false, it will fetch the URL against my wishes, and my
alternative content for user-agents that support scripting but have
popups blocked will be lost.

Best regards,

Gez

-- 
_
Supplement your vitamins
http://juicystudio.com
**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Jan Brasna

That's why I didn't really see the need for testing for "window.open" to
begin with, because in my mind a blocker that ignores "window.open" in an
anchor should honour the href value.


IMHO the blocker should just return negative result for window.open, 
nothing more. Since the construction "return !window.open(this.href)" 
seems logical to me.


--
Jan Brasna aka JohnyB :: www.alphanumeric.cz | www.janbrasna.com
**
The discussion list for  http://webstandardsgroup.org/

See http://webstandardsgroup.org/mail/guidelines.cfm
for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Thierry Koblentz
Jan Brasna wrote:
>> Do you mean there is no reason for ignoring the "return false"
>> statement?
>
> Yes. I can't see any reason why a browser/plugin/firewall etc. should
> ignore an independent part of a JS code.

I see one. In that particular case, such behaviour makes sure that the user
still can reach the href value. IMO, it makes sense,
and AFAIK, that's how Opera's blocker works. It ignores *both* statements,
"window.open" *and* "return false".
That's why I didn't really see the need for testing for "window.open" to
begin with, because in my mind a blocker that ignores "window.open" in an
anchor should honour the href value.

Thierry | www.TJKDesign.com

**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Jan Brasna

Do you mean there is no reason for ignoring the "return false" statement?


Yes. I can't see any reason why a browser/plugin/firewall etc. should 
ignore an independent part of a JS code.


--
Jan Brasna aka JohnyB :: www.alphanumeric.cz | www.janbrasna.com
**
The discussion list for  http://webstandardsgroup.org/

See http://webstandardsgroup.org/mail/guidelines.cfm
for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Thierry Koblentz
Jan Brasna wrote:
>> I can understand the logic behind ignoring "window.open" (even in an
>> anchor), but then I think a "return false" statement should be
>> ignored as well.
> 
> Are you sure? There's no reason for such an action.

Jan,
I'm not sure I understand your question regarding what you've quoted. 
Do you mean there is no reason for ignoring the "return false" statement?

Thierry | www.TJKDesign.com


**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**



Re: [WSG] "window.open" and popup blockers

2005-08-16 Thread Jan Brasna

I can understand the logic behind ignoring "window.open" (even in an
anchor), but then I think a "return false" statement should be ignored as
well.


Are you sure? There's no reason for such an action.

--
Jan Brasna aka JohnyB :: www.alphanumeric.cz | www.janbrasna.com
**
The discussion list for  http://webstandardsgroup.org/

See http://webstandardsgroup.org/mail/guidelines.cfm
for some hints on posting to the list & getting help
**



[WSG] "window.open" and popup blockers

2005-08-16 Thread Thierry Koblentz
Following the "opening new window philosophy thread", I'm curious to know if
there are blockers out there that *kill* links that trigger popups (do not
open a new window, do not call the href value either).
I can understand the logic behind ignoring "window.open" (even in an
anchor), but then I think a "return false" statement should be ignored as
well.
AFAIK, that's Opera's behaviour...

Thierry | www.TJKDesign.com

**
The discussion list for  http://webstandardsgroup.org/

 See http://webstandardsgroup.org/mail/guidelines.cfm
 for some hints on posting to the list & getting help
**