Link to home
Start Free TrialLog in
Avatar of Dawn_rico
Dawn_rico

asked on

open a parent frame w/o toolbars

hi All,

I've this scenario here. User will click to open up a page(parent). This page will auto pop out another page(child) that contains no toolbars (standard buttons, address bars, etc) but only its page surrounded by a frame and the title bar. Then I want the parent page to auto close sliently.

Things I tried:
1) B4 it closes, parent will ask me whether I'm sure I wanted to close, which I dun want, but I think its impossible.
2) I could do with a no toolbar parent page, but I think this is impossible too?
3) tried setTimeout on parent but it does not seems to work as intended.

//Error on page
window.setTimeout('parent.asp',5)

//Do you want to close this window?
window.setTimeout('window.close()',5)

4) Your offer of other solutions ?

Thanks for brainstorming.
Dawn.

------------------------------------------------------
this solution recommended by third works great :)
Avatar of third
third
Flag of Philippines image


true. you can't prevent the closing message from coming out when you're closing a parent window. only child windows can be closed without the prompt.

it's either stick with it or don't use it.
"User will click to open up a page(parent). This page will auto pop out another page(child) that contains no toolbars "

assuming you are on a certain page.

why do you still need the parent page to be opened whereas it will be closed after loading the popup? you can directly open a child window (popup) from that click (though when you close that parent window the message will still appear).
Avatar of Dawn_rico
Dawn_rico

ASKER

hi third,

Actually, I just wanted to display a page w/o toolbars. Hence I use a parent to open a toolbar-less child automatically and want the parent to close automatically too, without using click, after doing it.

Dawn.
hi Dawn,

sorry but you cannot prevent the prompt from coming out while closing the parent window. there's no way. ;-(
Why not just leave the parent open? I don't mind a popup window (ONE -- not twenty like some places do) but I really hate it when you try to close the other windows I've got open. If I want them closed, *I'll* close them.

Send it to another page if you want, but leave it open.
hi third,

mm I understand what you mean ... thanks for ur concern .. :)

--------------------------------------------------------
hi Both,

Thanks, I'll think about my system flow again and get back to you soon ..

Dawn.

hi Both,

I can't think of other solutions to replace that part .. I'll be leaving it this way and let the customer feedback and see what to do then ..

Jinyu.
hi All,

Actually I just want to open a toolbar-less window. I understand that I can't stick to my old way of doing(close parent frame w/o prompt), hence I'll like to hear ur recommendations.

Thanks ..

Dawn.
Avatar of Michel Plungjan
1. It is not simple to avoid the prompt although possible
2. It is VERY rude to try to change/close the users main browser
3. Not many people will object to you using a splash page that opens a new window in the deminsions you prefer.

Michel


hi again Dawn,

actually this was not the first time i encountered this type question here at EE but i haven't seen so far a solution that will prevent that from happening. it's the only way to create a toolbar-less window in script(i.e. create/open a child window from a certain window). there are other solutions such as creating a customized browser but that would only work if you're applications works only on a certain local group (referred as intranet) in a organization. it's the only way to do it.

btw, what particular reason do you wanna to implement why you want to hide the toolbars? maybe we can formulate another solution if you could give us the big scene (though there is a very little chance of formulating another process).
hi mplungjan ,

Thanks for ur suggestion. I'll like to know - will a splash screen disappear after it pops out, cos I wanted the page to stay there? How will you implement it? Thanks...


--------------------------------------------------------

hi third,

Thanks for offering ur patience and listening ear :) I understand what you mean cos' I've been going through other similar questions in EE b4 I posted but I've not found a suitable solution.

mm.. ok .. thanks for letting me know that I can achieve it by customising the screen in intranet but I think it would be rather impossible cos' I dun have the access to that ...

I've to let a User open up the toolbar-less frame by the click of an icon on the desktop. It has to be toolbar-less to look professional and standard with my other frames. As this program was done previously in Java, we want to follow the old look, without the toolbars there.  

Thanks for ur time.

Dawn.


<html>
<head>
<title>Dawn Rico</title>
<script>
// Change below
w=600;
h=600;
l=100,
t=0;
//------------------

function openwin(url) {
if (window.screen) {
   l = (window.screen.width-w)/2
   t = (window.screen.height-h)/2
}
window.open(url,'newwin',
'width='+w+
',height='+h+
',top='+t+
',left='+l+
',screenX='+l+
',screenY='+t
);


</script>

</head>
<body onLoad="openwin('homepage.html')">
<H1>Dawn Rico</H1>
</body>
</html>
hi mplungjan ,

Thanks for ur code that is displaying a page and will pop out another toolbar-less window. I have done it previously but met the problem of not being able to close the parent window w/o it's prompt.
--------------------------------------------------
hi third too,

I understand that it's veri hard to find a substitute code, cos' personally I can't find a matching solution at other web sites b4 I posted this qn.

Dawn.
That is a splash page.

hi Dawn,

"I've to let a User open up the toolbar-less frame by the click of an icon on the desktop"

hmmm, why not save your html file as html application. here you can customize several options that you like in the browser and you can open it just by double clicking the file. to do that just save your html file as hta file,

i.e.

  urpage.html >> urpage.hta

to learn more about hta follow this link,

http://msdn.microsoft.com/library/default.asp?url=/workshop/author/hta/overview/htaoverview.asp

compatible ie5+ though.

hi mplungjan ,

In your code, homepage.html will be the splashpage, while the page that contains the code will remain as the main window .. it works fine but I would need a page that can open up and stay.

-------------------------------------------------
hi third,

Pls give me some time to try :) thanks for your suggestion!

Dawn.
thanks for both of your time :)
hi third,

sorry for waiting .. I've tried ur code. It would open up my page in IE. In IE, it shows the framename bar-'Welcome All', title bar-'File Edit View Favourites', IE accessories-'Back Forward Stop Refresh' and address bar. Sorry if I named them incorrectly. But I only want framename bar to remain.

But this is still an improvement :) thanks .. because it would hide my yahoo toolbar. I would still hope to find the solution though ...  

I've implemented this:
<HEAD>
  <TITLE>My Monster Application</TITLE>
  <HTA:APPLICATION ID="oMyApp"
    APPLICATIONNAME="monster"
    BORDER="none"
    CAPTION="no"
    ICON="/graphics/creature.ico"
    SHOWINTASKBAR="no"
    SINGLEINSTANCE="yes"
    SYSMENU="no"
    WINDOWSTATE="maximize">
</HEAD>

<body bgcolor="#FFFFFF" text="#000000">

</body>
</html>






hi Dawn,

have you renamed the file to .hta? that won't still work if it's in .htm or .html format.

try this,


test.hta
---------------

<html>
<HEAD>
 <TITLE>My Monster Application</TITLE>
 <HTA:APPLICATION ID="oMyApp"
   APPLICATIONNAME="monster"
   ICON="/graphics/creature.ico"
   SHOWINTASKBAR="yes"
   SINGLEINSTANCE="yes"
   SYSMENU="yes"
   WINDOWSTATE="normal">
</HEAD>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</html>






hi third .. opps .. I've missed it out, sorry. I'll save it as a .hta and try again, thanks ..

Dawn.
also take note that it is launched just by double clicking the .hta file.
hi third,

I'm bringing you one good news .. :) it works .. you've made a break though! but for my system, there's something that's amiss. As I'm using asp to do this program, when I embedded the code into my page, it displays only the codes. I guess it didn't send the codes to the web server.

Dawn.
it would have been perfect if mine was in html ..
hi third,

This is my codes ... Sorry to disappoint you, cos' I need to interface web server to process my asp codes.

<html>
<head>
<title>Title</title>
  <HTA:APPLICATION ID="oMyApp"
    APPLICATIONNAME="monster"
    ICON="/graphics/creature.ico"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="yes"
    SYSMENU="yes"
    WINDOWSTATE="maximize">
</head>

<frameset frameborder="0" border="0" framespacing="0" rows="*">
<frameset rows="3%,94%,3%" frameborder="NO" border="0" framespacing="0" rows="*">
  <frame name="topFrame" scrolling="NO" noresize src="004.asp">
  <frameset cols="88%,12%" frameborder="0" border="0" framespacing="0">
       <frameset rows="10%,41%,49%" frameborder="NO" border="0" framespacing="0" rows="*">
          <frame name="LeftFrame1" scrolling="NO" noresize src="003.asp">
          <frame name="LeftFrame2" scrolling="NO" noresize src="002.asp">
          <frame name="LeftFrame3" scrolling="NO" noresize src="001.asp">
          </frameset>
       <frame name="rightFrame" scrolling="NO" noresize src="005.asp">
  </frameset>
  <frame name="bottomFrame" scrolling="NO" noresize src="007.asp">
<body bgcolor="#FFFFFF"  >

</body>
  </noframes>
</frameset>
</frameset>
<frameset>
</frameset>
</html>



Dawn.
hi Dawn,

ok what you need to do is bring back (i.e. rename again)that .hta file to .html and create a new .hta file containing,

<html>
<head>
<HTA:APPLICATION ID="oMyApp"
   APPLICATIONNAME="monster"
   ICON="/graphics/creature.ico"
   SHOWINTASKBAR="yes"
   SINGLEINSTANCE="yes"
   SYSMENU="yes"
   WINDOWSTATE="maximize">
</head>
<body LEFTMARGIN="0" TOPMARGIN="0">
<IFRAME application="yes" NAME="frame1" SRC="index.html" WIDTH="100%" HEIGHT="100%"></IFRAME>  
</body>
</html>

assuming ur main page (those containing framesets) is index.html.
sorry the source should be,

SRC="http://servername/index.html"
hi third,

thanks for ur immediate reply :) I'll try this out and let you know !

Dawn.
hi third,

Thanks for your smart solution! It works great. I can access my asp pages and do my transactions on the database.

There's another thing that I would like to consult you. In my pop out window, I have a close link that would close the pop out window itself and refresh an unrelated page in the main frame. This pop out window is opened from one of the pages in the main frame. Sounds familiar right :) You have helpped me with this doubt last time. In this new situation, I think it needs some touch ups to work right.

The codes are ..

<script language="JavaScript">
<!--
function refreshPage() {
     opener.parent.frames['LeftFrame1'].location.reload();
     top.window.close();
}
//-->
</script>

<a href="javascript:refreshPage();">Close</a>


Thanks :)

Dawn.
hi Dawn,

can you give me the exact error message 'coz i cannot replicate your application here?

and i need a little explanation about your framesets, how do you want exactly to show these frames in the window. i think we need to chop down unnecessary framesets.


regards,

third
hi third,

perhaps you may want to refer back to the last qn:
https://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=javascript&qid=20299809

In the meantime, I ve tried to maximize the .html page that has been opened by .hta file, cos' it aligns to the left side and leave a gap of around 1cm(in a 1024 by 768) screen.

In my .html page, I set the width n height to be:
<frameset frameborder="0" border="0" framespacing="0" rows="*" width="100%" height="100%">.

I noticed that you had also maximize the screen in the .hta file:
WINDOWSTATE="maximize"

but they does not seems to help. Sorry to trouble you. I appreciate all your efforts and guidance along the way.  

Dawn.

hello third,

the error msg is for the javasript - Error on Page.

and I just did a more accurate measurement. It gives a 0.3cm gap on the right and 0.5cm gap at the bottom.

I wanted to display the whole html page in full in any screen size.

Thanks.

Dawn.


hi again Dawn,

can u post the .hta code here? kindly double check if you have specified the iframe application attribute to "yes"

i.e.,

  <IFRAME application="yes" NAME="frame1" SRC="http://servername/index.html" WIDTH="100%" HEIGHT="100%"></IFRAME>

this would fix the javascript error.

i'm still finding a fix for width and height problem.


regards,

third
hi third,

<body LEFTMARGIN="0"  RIGHTMARGIN="0" TOPMARGIN="0"  BOTTOMMARGIN="0">

I've added RIGHTMARGIN and BOTTOMMARGIN in and they work :)

Dawn.
hi third,

These are my codes.


<html>
<head>
<HTA:APPLICATION ID="oMyApp"
  APPLICATIONNAME="Title"
  ICON="/graphics/creature.ico"
  SHOWINTASKBAR="yes"
  SINGLEINSTANCE="yes"
  SYSMENU="yes"
  WINDOWSTATE="maximize">
</head>
<body LEFTMARGIN="0"  RIGHTMARGIN="0" TOPMARGIN="0"  BOTTOMMARGIN="0">
<IFRAME application="yes" NAME="frame1" SRC="http://localhost/001.html" WIDTH="100%" HEIGHT="100%"></IFRAME>  
</body>
</html>
I've implemented this at the start, but the error remains.
IFRAME application="yes" NAME="frame1" SRC="http://servername/index.html" WIDTH="100%" HEIGHT="100%"></IFRAME>

Thanks.
huh, didn't know about that attribute - rightmargin and bottom margin. i found another workaround by setting the iframe width and height to more that 100% and the hta frame not to show scrollbars. but i think that solution is better. new discovery! i'll have to check that out.

so we only have one more thing to fix. whew, hope i'll got it this time. ;-)
just a quick thought. could you try,

function refreshPage() {
    opener.top.frames['LeftFrame1'].location.reload();
    window.close();
}
hi third ..

ya, we have one last obstacle to go! The error remains ... too bad ..

Dawn.
hi third,

Its ok even if I'll have to refresh the whole frame, as long as I get the page in the frame to be refreshed.

Dawn.

hi Dawn,

im back! (sorry for the delayed response). would i know from which particular frame was the popup window is being called?
hi third,

it's ok .. I understand that you're busy with your things too .. the pop out was from a page in the frame. This frame refers to the home page.

Daawn.
hi Dawn,

i mean the "particular". is it from the topFrame, bottomFrame, rightFrame, LeftFrame2, or LeftFrame3?

still testing....

ASKER CERTIFIED SOLUTION
Avatar of third
third
Flag of Philippines image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
hi third,

Congrats and thank you! Your solution works well ! This is how I've implemented them :)

Your effort and time spend on helpping me definately worth more than 250 points!

----------------------------------------------------------

<script language="JavaScript">
<!--
function refreshPage() {
   //opener.top.frames['LeftFrame1'].location.reload();
   //window.close();

   opener.parent.frames['LeftFrame1'].location.reload();
   top.window.close();
}
//-->
</script>

----------------------------------------------------------

<html>
<head>
<title>Welcome</title>

<frameset frameborder="0" border="0" framespacing="0" rows="*" width="100%" height="100%">
<frameset rows="3%,94%,3%" frameborder="NO" border="0" framespacing="0" rows="*">
  <frame name="topFrame" application="yes" scrolling="NO" noresize src="004.asp">
  <frameset cols="89%,11%" frameborder="0" border="0" framespacing="0">
       <frameset rows="10%,41%,49%" frameborder="NO" border="0" framespacing="0" rows="*">
          <frame name="LeftFrame1" application="yes" scrolling="NO" noresize src="003.asp">
          <frame name="LeftFrame2" application="yes" scrolling="NO" noresize src="002.asp">
          <frame name="LeftFrame3" application="yes" scrolling="NO" noresize src="001.asp">
          </frameset>
       <frame name="rightFrame" application="yes" scrolling="NO" noresize src="005.asp">
  </frameset>
  <frame name="bottomFrame" application="yes" scrolling="NO" noresize src="007.asp">
<body bgcolor="#FFFFFF"  >

</body>
  </noframes>
</frameset>
</frameset>
<frameset>
</frameset>
</html>



Dawn.

hi third,

Congrats and thank you! Your solution works well ! This is how I've implemented them :)

Your effort and time spent on helpping me constantly definately worth more than 250 points!

----------------------------------------------------------

<script language="JavaScript">
<!--
function refreshPage() {
   //opener.top.frames['LeftFrame1'].location.reload();
   //window.close();

   opener.parent.frames['LeftFrame1'].location.reload();
   top.window.close();
}
//-->
</script>

----------------------------------------------------------

<html>
<head>
<title>Welcome</title>

<frameset frameborder="0" border="0" framespacing="0" rows="*" width="100%" height="100%">
<frameset rows="3%,94%,3%" frameborder="NO" border="0" framespacing="0" rows="*">
  <frame name="topFrame" application="yes" scrolling="NO" noresize src="004.asp">
  <frameset cols="89%,11%" frameborder="0" border="0" framespacing="0">
       <frameset rows="10%,41%,49%" frameborder="NO" border="0" framespacing="0" rows="*">
          <frame name="LeftFrame1" application="yes" scrolling="NO" noresize src="003.asp">
          <frame name="LeftFrame2" application="yes" scrolling="NO" noresize src="002.asp">
          <frame name="LeftFrame3" application="yes" scrolling="NO" noresize src="001.asp">
          </frameset>
       <frame name="rightFrame" application="yes" scrolling="NO" noresize src="005.asp">
  </frameset>
  <frame name="bottomFrame" application="yes" scrolling="NO" noresize src="007.asp">
<body bgcolor="#FFFFFF"  >

</body>
  </noframes>
</frameset>
</frameset>
<frameset>
</frameset>
</html>



Dawn.

hi Dawn,

  'mglad i can help... thanks for the addtn'l points and the A! ;-)


regards,

 third


  "gud start of my week after returning from a three-day weekend vacation ;-)"
hi third,

welcome :) you deserve them and a three days overseas vacation seems so nice to get out of busy working schedules :)

Dawn.