Connecting Tech Pros Worldwide Forums | Help | Site Map

Javascript window.open fails in IE

gleverett@gmail.com
Guest
 
Posts: n/a
#1: Sep 19 '05
I have been searching the 'Net, and I can't find the right solution
here. I am writing some PHP pages that utilize some Javascript. The
script works in Mozilla/Netscape, but fails in IE. I don't know if
it's the Javascript or the PHP that is causing the problem. I started
with an example in a book and added on.

The script I'm using is:

<SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
<!--
function open_window(url) {
var NEW_WIN = null;
NEW_WIN = window.open ("", "Record Viewer", "toolbar=no,width=<?php
echo $new_win_width ?>,height=<?php echo new_win_height
?>,directories=no,status=no,scrollbars=yes,resizab le=yes,menubar=no");
NEW_WIN.location.href = url;
}

//-->
</SCRIPT>

(I added some line break to make it readable The NEW_WIN line is all
on one line.)

The PHP variables get added correctly, and the two calls from the PHP
program are similar to:

<a
href="javascript:open_window('$PHP_SELF?action=act ion1');\">Action1</a>

or an

echo "<button
onClick=\"javascript:open_window('$PHP_SELF?action =insert_record');\" >
Insert new record</button>";

These work fine in Netscape/Mozilla, but in IE, after clickng a bunch
of times, I get "Domain not found". I've replaced PHP_SELF with the
full URL to test, and it still fails. I know that the scripting is
turned on in IE becuase I can go to example sites and the window.open
function works.

Any ideas as to what's going on here?


Randy Webb
Guest
 
Posts: n/a
#2: Sep 19 '05

re: Javascript window.open fails in IE


gleverett@gmail.com said the following on 9/19/2005 4:11 PM:
[color=blue]
> I have been searching the 'Net, and I can't find the right solution
> here. I am writing some PHP pages that utilize some Javascript. The
> script works in Mozilla/Netscape, but fails in IE. I don't know if
> it's the Javascript or the PHP that is causing the problem. I started
> with an example in a book and added on.
>
> The script I'm using is:
>
> <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
> <!--
> function open_window(url) {
> var NEW_WIN = null;
> NEW_WIN = window.open ("", "Record Viewer", "toolbar=no,width=<?php[/color]

IE is known not to handle window names with spaces in them real well.
Change it to "RecordViewer" or "Record_Viewer"
[color=blue]
> echo $new_win_width ?>,height=<?php echo new_win_height
> ?>,directories=no,status=no,scrollbars=yes,resizab le=yes,menubar=no");
> NEW_WIN.location.href = url;
> }
>
> //-->
> </SCRIPT>[/color]

Post the code that gets sent to the browser, not the PHP code that
generates it. And why are you opening a blank window and then setting
it's href property? Just specify the URL in the window.open call:

window.open(url,"Record Viewer",.....)
[color=blue]
> <a
> href="javascript:open_window('$PHP_SELF?action=act ion1');\">Action1</a>[/color]

http://jibbering.com/faq/#FAQ4_24

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
McKirahan
Guest
 
Posts: n/a
#3: Sep 19 '05

re: Javascript window.open fails in IE


<gleverett@gmail.com> wrote in message
news:1127160660.056969.64100@g43g2000cwa.googlegro ups.com...[color=blue]
> I have been searching the 'Net, and I can't find the right solution
> here. I am writing some PHP pages that utilize some Javascript. The
> script works in Mozilla/Netscape, but fails in IE. I don't know if
> it's the Javascript or the PHP that is causing the problem. I started
> with an example in a book and added on.
>
> The script I'm using is:
>
> <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
> <!--
> function open_window(url) {
> var NEW_WIN = null;
> NEW_WIN = window.open ("", "Record Viewer", "toolbar=no,width=<?php
> echo $new_win_width ?>,height=<?php echo new_win_height
> ?>,directories=no,status=no,scrollbars=yes,resizab le=yes,menubar=no");
> NEW_WIN.location.href = url;
> }
>
> //-->
> </SCRIPT>
>
> (I added some line break to make it readable The NEW_WIN line is all
> on one line.)
>
> The PHP variables get added correctly, and the two calls from the PHP
> program are similar to:
>
> <a
> href="javascript:open_window('$PHP_SELF?action=act ion1');\">Action1</a>
>
> or an
>
> echo "<button
> onClick=\"javascript:open_window('$PHP_SELF?action =insert_record');\" >
> Insert new record</button>";
>
> These work fine in Netscape/Mozilla, but in IE, after clickng a bunch
> of times, I get "Domain not found". I've replaced PHP_SELF with the
> full URL to test, and it still fails. I know that the scripting is
> turned on in IE becuase I can go to example sites and the window.open
> function works.
>
> Any ideas as to what's going on here?[/color]


I tested with this variation:

<html>
<head>
<title>js_php.htm</title>
<script type="text/javascript">
function open_window(url) {
var cfg = "width=<?php echo $new_win_width ?>,"
cfg += "height=<?php echo new_win_height ?>,";
cfg += "scrollbars=yes,resizable=yes"
var win = window.open ("","Record Viewer",cfg);
win.location.href = url;
}
</script>
</head>
<body onload="open_window('http://www.google.com/')">
</body>
</html>

and it didn't work for me under IE (5.5) either.

My guess is that IE doesn't interpret inline php.


Randy Webb
Guest
 
Posts: n/a
#4: Sep 19 '05

re: Javascript window.open fails in IE


McKirahan said the following on 9/19/2005 5:56 PM:[color=blue]
> <gleverett@gmail.com> wrote in message
> news:1127160660.056969.64100@g43g2000cwa.googlegro ups.com...
>[color=green]
>>I have been searching the 'Net, and I can't find the right solution
>>here. I am writing some PHP pages that utilize some Javascript. The
>>script works in Mozilla/Netscape, but fails in IE. I don't know if
>>it's the Javascript or the PHP that is causing the problem. I started
>>with an example in a book and added on.
>>
>>The script I'm using is:
>>
>><SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
>><!--
>> function open_window(url) {
>>var NEW_WIN = null;
>>NEW_WIN = window.open ("", "Record Viewer", "toolbar=no,width=<?php
>> echo $new_win_width ?>,height=<?php echo new_win_height
>>?>,directories=no,status=no,scrollbars=yes,resiz able=yes,menubar=no");
>>NEW_WIN.location.href = url;
>>}
>>
>>//-->
>></SCRIPT>
>>
>>(I added some line break to make it readable The NEW_WIN line is all
>>on one line.)
>>
>>The PHP variables get added correctly, and the two calls from the PHP
>>program are similar to:
>>
>><a
>>href="javascript:open_window('$PHP_SELF?action=a ction1');\">Action1</a>
>>
>>or an
>>
>>echo "<button
>>onClick=\"javascript:open_window('$PHP_SELF?acti on=insert_record');\" >
>>Insert new record</button>";
>>
>>These work fine in Netscape/Mozilla, but in IE, after clickng a bunch
>>of times, I get "Domain not found". I've replaced PHP_SELF with the
>>full URL to test, and it still fails. I know that the scripting is
>>turned on in IE becuase I can go to example sites and the window.open
>>function works.
>>
>>Any ideas as to what's going on here?[/color]
>
>
>
> I tested with this variation:
>
> <html>
> <head>
> <title>js_php.htm</title>
> <script type="text/javascript">
> function open_window(url) {
> var cfg = "width=<?php echo $new_win_width ?>,"
> cfg += "height=<?php echo new_win_height ?>,";
> cfg += "scrollbars=yes,resizable=yes"
> var win = window.open ("","Record Viewer",cfg);
> win.location.href = url;
> }
> </script>
> </head>
> <body onload="open_window('http://www.google.com/')">
> </body>
> </html>
>
> and it didn't work for me under IE (5.5) either.
>
> My guess is that IE doesn't interpret inline php.[/color]

Since php is processed on the server (with an exception and that is a
plugin that allows php to be clientside), whether IE interprets it or
not is totally dependent on whether PHP is enabled on the server. Try
changing your window name to no spaces, remove the PHP code, and see
what happens.

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Answer:It destroys the order of the conversation
Question: Why?
Answer: Top-Posting.
Question: Whats the most annoying thing on Usenet?
Gérard Talbot
Guest
 
Posts: n/a
#5: Sep 20 '05

re: Javascript window.open fails in IE


gleverett@gmail.com a écrit :[color=blue]
> I have been searching the 'Net, and I can't find the right solution
> here. I am writing some PHP pages that utilize some Javascript. The
> script works in Mozilla/Netscape, but fails in IE. I don't know if
> it's the Javascript or the PHP that is causing the problem. I started
> with an example in a book and added on.
>
> The script I'm using is:
>
> <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">[/color]

language attribute is deprecated.
[color=blue]
> <!--[/color]

HTML comment is not needed here.
[color=blue]
> function open_window(url) {
> var NEW_WIN = null;
> NEW_WIN = window.open ("", "Record Viewer", "toolbar=no,width=<?php[/color]

Right here. The window name should be a one string without blank space.

http://developer.mozilla.org/en/docs/DOM:window.open

[color=blue]
> echo $new_win_width ?>,height=<?php echo new_win_height
> ?>,directories=no,status=no,scrollbars=yes,resizab le=yes,menubar=no")[/color]

If the windowFeatures string list is not empty, then you only need to
set the features which will be on, enabled.

;[color=blue]
> NEW_WIN.location.href = url;[/color]

I never understood why people code like that. Why not define the url in
the window.open() call?
[color=blue]
> }
>
> //-->
> </SCRIPT>
>
> (I added some line break to make it readable The NEW_WIN line is all
> on one line.)
>
> The PHP variables get added correctly, and the two calls from the PHP
> program are similar to:
>
> <a
> href="javascript:open_window('$PHP_SELF?action=act ion1');\">Action1</a>
>[/color]


"javascript:" pseudo-protocol is definitely not recommendable.

http://jibbering.com/faq/#FAQ4_24

http://developer.mozilla.org/en/docs.....29.22_....3E
"
* "javascript:" pseudo-links become dysfunctional when javascript
support is disabled or inexistent. Several corporations allow their
employees to surf on the web but under strict security policies: no
javascript enabled, no java, no activeX, no Flash. For various reasons
(security, public access, text browsers, etc..), about 8% to 12% of
users on the web surf with javascript disabled.
* "javascript:" links will interfere with advanced features in
tab-capable browsers: eg. middle-click on links, Ctrl+click on links,
tab-browsing features in extensions, etc.
* "javascript:" links will interfere with the process of indexing
webpages by search engines.
* "javascript:" links also interfere with assistive technologies
and several web-aware applications (e.g. PDA).
* Protocol scheme "javascript:" will be reported as an error by
link validators and link checkers.
"

Gérard
--
remove blah to email me
Gérard Talbot
Guest
 
Posts: n/a
#6: Sep 20 '05

re: Javascript window.open fails in IE


McKirahan a écrit :
[color=blue]
> var win = window.open ("","Record Viewer",cfg);[/color]

var win = window.open (url, "RecordViewer", cfg);

will work without a problem.


[color=blue]
> win.location.href = url;
> }
> </script>
> </head>
> <body onload="open_window('http://www.google.com/')">[/color]


Well, first of all, don't try on an onload event.

[color=blue]
> </body>
> </html>
>
> and it didn't work for me under IE (5.5) either.
>[/color]

Remove the blank space between the word Record and Viewer.

http://developer.mozilla.org/en/docs/DOM:window.open

Gérard
--
remove blah to email me
G-Man
Guest
 
Posts: n/a
#7: Sep 20 '05

re: Javascript window.open fails in IE


Thanks to all the suggestions. It turned to be the space in the window
name.

To be complete, here is the code that is sent to the browser (minus the

PHP, and after the change to an "_" in the window name):

<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
<!--
function open_window(url) {
var NEW_WIN = null;
NEW_WIN = window.open ("", "Record_Viewer",
"toolbar=no,width=850,height=575,directories=no,st atus=no,scrollbars=yes,resizable=yes,menubar=no");
NEW_WIN.location.href = url;
}

//-->
</SCRIPT>

I made an example page to test an inline href javascript call like I
listed in the code above, and a full url. Those continued to fail in
IE, but after replacing the space with an underscore, all of the links
worked. I can't belive it's something that simple as a space.

Thanks! This has been racking my brain for about a week!

Mick White
Guest
 
Posts: n/a
#8: Sep 20 '05

re: Javascript window.open fails in IE


G-Man wrote:[color=blue]
> Thanks to all the suggestions. It turned to be the space in the window
> name.
>
> To be complete, here is the code that is sent to the browser (minus the
>
> PHP, and after the change to an "_" in the window name):
>
> <HTML>
> <HEAD>
> <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
> <!--
> function open_window(url) {
> var NEW_WIN = null;
> NEW_WIN = window.open ("", "Record_Viewer",
> "toolbar=no,width=850,height=575,directories=no,st atus=no,scrollbars=yes,resizable=yes,menubar=no");
> NEW_WIN.location.href = url;
> }
>
> //-->
> </SCRIPT>[/color]
You have ignored some good advice, here's how I would do it:
<SCRIPT TYPE="text/javascript">
function open_window(url) {
var NEW_WIN = null;//questionable
NEW_WIN =
window.open(url,"Record_Viewer","width=850,height= 575,scrollbars,resizable");
}
</SCRIPT>
Gérard Talbot
Guest
 
Posts: n/a
#9: Sep 21 '05

re: Javascript window.open fails in IE


Mick White a écrit :
[color=blue]
> <SCRIPT TYPE="text/javascript">
> function open_window(url) {
> var NEW_WIN = null;//questionable[/color]

You're absolutely correct. Declaring NEW_WIN as a local variable is
useless and pointless. It should be a global variable.
[color=blue]
> NEW_WIN =
> window.open(url,"Record_Viewer","width=850,height= 575,scrollbars,resizable");
>
> }
> </SCRIPT>[/color]

Gérard
--
remove blah to email me
Gérard Talbot
Guest
 
Posts: n/a
#10: Sep 21 '05

re: Javascript window.open fails in IE


G-Man a écrit :[color=blue]
> Thanks to all the suggestions. It turned to be the space in the window
> name.
>
> To be complete, here is the code that is sent to the browser (minus the
>
> PHP, and after the change to an "_" in the window name):
>
> <HTML>
> <HEAD>
> <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">[/color]

Again, why do you use language? language is deprecated.
[color=blue]
> <!--[/color]

Why do you need to comment the HTML code? It's not needed anymore.
[color=blue]
> function open_window(url) {
> var NEW_WIN = null;
> NEW_WIN = window.open ("", "Record_Viewer",
> "toolbar=no,width=850,height=575,directories=no,st atus=no,scrollbars=yes,resizable=yes,menubar=no");
> NEW_WIN.location.href = url;[/color]

Why not insert the url in the 1st parameter of the window.open()
function? instead of adding another instructions just to do that...
You do not need to set the config parameters to no once there is at
least 1 parameter defined.
You set the height to 575 but this will not be carried out by a large
majority of browsers (even users with a 1024x768 scr.res.) because there
won't be enough height on the user workarea for applications. So, your
code will trigger error correction mechanisms in MSIE 6, Mozilla-based
browsers and most likely other browsers.

[color=blue]
> Thanks! This has been racking my brain for about a week![/color]


Everything was already mentioned at this page:

http://developer.mozilla.org/en/docs..._DOM_Reference

along with best recommendations, examples, etc..

Gérard
--
remove blah to email me
Closed Thread


Similar PHP bytes