• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 300
  • Last Modified:

IE - Window.Focus - Strange Problem

Hello All

I'm having very strange problems with window focus in internet explorer.

1.  I've my default.aspx and in that I'm opening a new asp page called  Edi.aspx using
      Dim jscriptStr As String
                jscriptStr = "<script language=JavaScript> window.open('Edi.aspx','editorWin','height=5,width=555,left=300,top=300,toolbar=0,location=0, directories=0,status=0,menubar=0,scrollbars=no,resizable=0,titlebar=no');</script>"
                RegisterClientScriptBlock("clientScript", jscriptStr)

 In the Edi.aspx body tag I'm putting onload="javascript:top.focus();".

This is not working and the Edi.aspx is hiding behind the default.aspx. why is this happening? At the same time when I used this technique for a opening different page other.aspx its working.

Another big thing is- the above technique is working perfectly fine in firefox browser for both Edi.aspx and other.aspx.

I'm using IE.6.0.


2. Is there any way to access the controls in Edi.aspx from the default.aspx ( here Edi.aspx is opened from the default.aspx using window.open('Edi.aspx'))?


Thanks for your help
Aditya


0
adityaiiii
Asked:
adityaiiii
  • 4
  • 4
1 Solution
 
Pravin AsarPrincipal Systems EngineerCommented:
If you have assign the window variable, you could get the document object (and its children).


var nw = window.open('Edi.aspx','editorWin','height=5,width=555,left=300,top=300,toolbar=0,location=0, directories=0,status=0,menubar=0,scrollbars=no,resizable=0,titlebar=no');

alert ('Access Document Object ' + nw.document);

0
 
adityaiiiiAuthor Commented:
Hello pravina

Do you know anything about the problem 1.? also can you please expand the above answer more ?

Thanks
Aditya
0
 
Pravin AsarPrincipal Systems EngineerCommented:
1. If window has been opened by window.open , it's parent window
   can be accessed by

   window.opener

to focus on the parent window, you can use window.opener.focus() ;

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
adityaiiiiAuthor Commented:
I know that pravina.  Here Its the other way around. I want to access the controls in the new window from parent window. Is there any method for that ?
0
 
Pravin AsarPrincipal Systems EngineerCommented:
Here is a comprehensive example for you.


<html>
<head>
<title>Open/Close Windows</title>
</head>

<body>
<script language="javascript">
if (window.opener) {
     alert ('Parent ' + window.opener);
      if (window.opener.opener) {
           alert ('GrandParent ' + window.opener.opener);
      }
}
var nw = null;
function OpenNewWin (loc) {
nw = window.open (loc,'');
self.focus();
}
function GetChildsTag (tagId) {
if (!nw) { return; }
alert (nw.document.getElementById(tagId).innerHTML);
}
</script>
<p>
This is a demo page for
<br>1. Click on "Open Window.
<br>This opens same document on new window.
<br>
<br>2. Click on "Open Window" in newly window.
<br>This opens same document on another window.
<br> This window has parent and grandparent.
<br> Click on "Close Window". This will close the this parent and reassigns the
<br> parent as GrandParent.
</p>
<form name="form1">
<input type="button" value="Open Window" onClick="OpenNewWin(window.location.href); ">
<input type="button" value="Close Parent Window" onClick="temp = window.opener.opener; window.opener.close(); window.opener = temp;">
<input type="button" value="Get time from child window" onclick="GetChildsTag('div1');">
</form>
<div id="div1">
</div>
<script language="javascript">
document.getElementById('div1').innerHTML = (new Date()).toString();
</script>
</body>
</html>
0
 
adityaiiiiAuthor Commented:
Hello

I need to access  child from  parent. I know how to access a parent window from child window. Please tell me how to access Web controls in child window from parent window where child window is opened from parent window using window.open.
0
 
adityaiiiiAuthor Commented:
One more thing, the webcontrols in the child page are ASP controls
0
 
narnikhilCommented:
You can try doing this:
<script>
var newWin = window.open("index.aspx");
          if(newWin!=null)
          {
               //this will get you the background color of the new window in the old window
              alert(newWin.document.bgColor);
          }
</script>

Warning: If you try to open a page in a different domain than the one on which your site is hosted, then you will get an exception in Javascript.
0
 
Pravin AsarPrincipal Systems EngineerCommented:
>>I need to access  child from  parent.
I know how to access a parent window from child window. Please tell me how to access Web controls in child window >>from parent window where child window is opened from parent window using window.open.

Did you read my post completely ???
 

Did you look at the code

function GetChildsTag (tagId) {
if (!nw) { return; }
alert (nw.document.getElementById(tagId).innerHTML);
}

That gets the elements from child window .

I said earlier that I am posting a comprehensive example how to get the parent window and child window.



Good Luck to You.


_PA
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now