473,404 Members | 2,213 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,404 software developers and data experts.

Javascript window.open fails in IE

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?

Sep 19 '05 #1
9 3784
gl*******@gmail.com said the following on 9/19/2005 4:11 PM:
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
IE is known not to handle window names with spaces in them real well.
Change it to "RecordViewer" or "Record_Viewer"
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>
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",.....)
<a
href="javascript:open_window('$PHP_SELF?action=act ion1');\">Action1</a>


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

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Sep 19 '05 #2
<gl*******@gmail.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
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?

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.
Sep 19 '05 #3
McKirahan said the following on 9/19/2005 5:56 PM:
<gl*******@gmail.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
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?


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.


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?
Sep 19 '05 #4
gl*******@gmail.com a écrit :
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">
language attribute is deprecated.
<!--
HTML comment is not needed here.
function open_window(url) {
var NEW_WIN = null;
NEW_WIN = window.open ("", "Record Viewer", "toolbar=no,width=<?php
Right here. The window name should be a one string without blank space.

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

echo $new_win_width ?>,height=<?php echo new_win_height
?>,directories=no,status=no,scrollbars=yes,resizab le=yes,menubar=no")
If the windowFeatures string list is not empty, then you only need to
set the features which will be on, enabled.

; NEW_WIN.location.href = url;
I never understood why people code like that. Why not define the url in
the window.open() call?
}

//-->
</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>

"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
Sep 20 '05 #5
McKirahan a écrit :
var win = window.open ("","Record Viewer",cfg);
var win = window.open (url, "RecordViewer", cfg);

will work without a problem.
win.location.href = url;
}
</script>
</head>
<body onload="open_window('http://www.google.com/')">

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

</body>
</html>

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


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
Sep 20 '05 #6
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!

Sep 20 '05 #7
G-Man wrote:
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>

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>
Sep 20 '05 #8
G-Man a écrit :
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">
Again, why do you use language? language is deprecated.
<!--
Why do you need to comment the HTML code? It's not needed anymore.
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;
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.

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

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
Sep 21 '05 #9
Mick White a écrit :
<SCRIPT TYPE="text/javascript">
function open_window(url) {
var NEW_WIN = null;//questionable
You're absolutely correct. Declaring NEW_WIN as a local variable is
useless and pointless. It should be a global variable.
NEW_WIN =
window.open(url,"Record_Viewer","width=850,height= 575,scrollbars,resizable");

}
</SCRIPT>


Gérard
--
remove blah to email me
Sep 21 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.