Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Need the content of an iframe to use the parent stylesheet

Posted on 2006-06-16
8
Medium Priority
?
1,008 Views
Last Modified: 2012-06-21
OK, I have a page served from a content management system that embeds output from
my JSP app server using an iframe.

I want the JSP generated page to use the same stylesheet as the parent page.

Parent code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Job Alley - Search</title>
<meta name="description" content="Joomla - the dynamic portal engine and content management system" />
<meta name="keywords" content="Joomla, joomla" />
<meta name="Generator" content="Joomla! - Copyright (C) 2005 Open Source Matters. All rights reserved." />
<meta name="robots" content="index, follow" />
      <link rel="shortcut icon" href="http://192.168.1.2/images/favicon.ico" />
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link id="orbitcss" href="http://192.168.1.2/templates/rt_versatility/css/template_css.css" rel="stylesheet" type="text/css" />
<link href="http://192.168.1.2/templates/rt_versatility/css/header_light.css" rel="stylesheet" type="text/css" />
<link href="http://192.168.1.2/templates/rt_versatility/css/toolbar_blue.css" rel="stylesheet" type="text/css" />
<link href="http://192.168.1.2/templates/rt_versatility/css/footer_blue.css" rel="stylesheet" type="text/css" />

<!--[if lte IE 6]>
<link id="orbitcss" href="http://192.168.1.2/templates/rt_versatility/css/template_ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
<link rel="shortcut icon" href="http://192.168.1.2/images/favicon.ico" />
</head>
<body id="page_bg" class="w-wide f-default header-light toolbar-blue footer-blue">
      <div id="header">
            <div class="wrapper">
                  <div id="access">
                        <div id="selectors">
                              <span class="font-selector">&nbsp;</span>
                              <span class="width-selector">&nbsp;</span>
                        </div>

                        <div id="buttons">
                              <a href="http://192.168.1.2/templates/rt_versatility/rt_styleswitcher.php?widthstyle=w-fluid" title="Fluid width" class="fluid"><span class="button">&nbsp;</span></a>
                              <a href="http://192.168.1.2/templates/rt_versatility/rt_styleswitcher.php?widthstyle=w-wide" title="Wide width" class="wide"><span class="button">&nbsp;</span></a>
                              <a href="http://192.168.1.2/templates/rt_versatility/rt_styleswitcher.php?widthstyle=w-thin" title="Narrow width" class="thin"><span class="button">&nbsp;</span></a>
                              <a href="http://192.168.1.2/templates/rt_versatility/rt_styleswitcher.php?fontstyle=f-larger" title="Increase size" class="lrg"><span class="button">&nbsp;</span></a>
                              <a href="http://192.168.1.2/templates/rt_versatility/rt_styleswitcher.php?fontstyle=f-default" title="Default size" class="med"><span class="button">&nbsp;</span></a>
                              <a href="http://192.168.1.2/templates/rt_versatility/rt_styleswitcher.php?fontstyle=f-smaller" title="Decrease size" class="sml"><span class="button">&nbsp;</span></a>
                        </div>
                  </div>

                  <a href="http://192.168.1.2" title=""><span id="logo">&nbsp;</span></a>
                  <div id="top">
                                          </div>
            </div>
      </div>
      <div id="toolbar">
            <div class="wrapper">
                  <div id="nav">
                        <ul id="mainlevel"><li class="red"><a href="http://192.168.1.2/index.php?option=com_frontpage&Itemid=1">Home</a></li>

<li class="red"><a href="http://192.168.1.2/index.php?option=com_content&task=section&id=1&Itemid=2">News</a></li>
<li class="red"><a href="http://192.168.1.2/index.php?option=com_weblinks&Itemid=23">Links</a></li>
<li class="red"><a href="http://192.168.1.2/index.php?option=com_contact&Itemid=3">Contact Us</a></li>
<li class="active_menu"><a href="http://192.168.1.2/index.php?option=com_wrapper&Itemid=28">Search</a></li>
</ul>                  </div>
            </div>
      </div>
            <div id="mainbody">
            <div class="wrapper">

                  <div id="mainbody-2">
                        <div id="mainbody-3">
                              <div id="mainbody-4">
                                    <div id="mainbody-5">
                                    
                                          <div id="mainbody-padding">
                                                <table class="mainbody" cellspacing="0">
                                                      <tr valign="top">
                                                                                                                        <td class="left">
                                                                                                                                                                                                                                                                                    <div class="moduletable">

                  
            </div>
                                                                        </td>
                                                                                                                        <td class="mainbody">
                                                                                                                                    <div class="padding">
                                                                        <span class="pathway"><a href="http://192.168.1.2/index.php" class="pathway">Home</a> <img src="http://192.168.1.2/templates/rt_versatility/images/arrow.png" border="0" alt="arrow" />   Search </span>                                                                                    <script language="javascript" type="text/javascript">
            function iFrameHeight() {
                  var h = 0;
                  if ( !document.all ) {
                        h = document.getElementById('blockrandom').contentDocument.height;
                        document.getElementById('blockrandom').style.height = h + 60 + 'px';
                  } else if( document.all ) {
                        h = document.frames('blockrandom').document.body.scrollHeight;
                        document.all.blockrandom.style.height = h + 20 + 'px';
                  }
            }
            </script>

            <div class="contentpane">

                              <div class="componentheading">
                  Search                  </div>
                              <iframe
                        id="blockrandom"
            name="iframe"
            src="http://192.168.1.3/appl/branded/JA/searchform.jsp"
            width="100%"
            height="500"
            scrolling="auto"
            align="top"
            frameborder="0"
            class="wrapper">
            This option will not work correctly.  Unfortunately, your browser does not support Inline Frames            </iframe>

            </div>
                              <div class="back_button">

                  <a href='javascript:history.go(-1)'>
                  [ Back ]                  </a>
                  </div>
                                                                                          <div id="inset">
                                                                                                                                                      </div>
                                                                  </div>
                                                            </td>
                                                                                                                  </tr>

                                                </table>
                                          </div>                                          
                                    </div>
                              </div>
                        </div>
                  </div>
            </div>
      </div>
      
</body>

</html>

Embeded iframe code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>Search</title>
<script language="JavaScript">
str=top.document.getElementById('orbitcss').href;
document.write('<link id="orbitcss" rel="stylesheet" type="text/css" href="'+str+'">');
alert(str);
</script>
</head>
<body bgcolor="#ffffff">

<div class="moduletable">
<script language="JavaScript">
str=top.document.getElementById('orbitcss').href;
alert(str);
</script>
<form action="http://192.168.1.3/appl/branded/JA/branded/JA/searchresults.jsp" method="post" name="login" >
            <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
      <tr>

            <td>

                  <label for="mod_login_username">Username</label>
                  <br />
                  <input name="username" id="mod_login_username" type="text" class="inputbox" alt="username" size="10" />
                  <br />
                  <label for="mod_login_password">Password</label>
                  <br />

                  <input type="password" id="mod_login_password" name="passwd" class="inputbox" size="10" alt="password" />
                  <br />
                  <input type="checkbox" name="remember" id="mod_login_remember" class="inputbox" value="yes" alt="Remember Me" />
                  <label for="mod_login_remember">
                        Remember me                  </label>
                  <br />
                  <input type="hidden" name="option" value="login" />
                  <input type="submit" name="Submit" class="button" value="Login" />

            </td>
      </tr>
      </table>
</div>
</body>
</html>

Current result, the browser (firefox & internet explorer) show no formatting, and no javascript alerts are fired at all.

Help please.

0
Comment
Question by:martinlt-1000
  • 3
5 Comments
 
LVL 15

Accepted Solution

by:
Thogek earned 1000 total points
ID: 16921686
Have you tried including the same <link /> elements present in your first page into your second page?
0
 

Author Comment

by:martinlt-1000
ID: 16922250
The problem is, the first page stylesheet is selectable by the user (via the CMS). Therefore, I need the second page to dynamically figure out the stylesheet in use and use that.
0
 
LVL 15

Expert Comment

by:Thogek
ID: 16925213
Can the first page, when it writes out the IFrame element that calls on the second page, include a dynamic querystring parameter in the second page's URL that tells it what CSS file(s) to include?
0
 
LVL 10

Assisted Solution

by:Khanh Doan
Khanh Doan earned 1000 total points
ID: 16929178
I think the best way is use cookie, so if use config CSS first time, it will write to cookie. And then, everytime user visit your page, they don't need to config it again. And if they want to change CSS, cookie will be updated.
I don't know how to make a cookie via javascript. I just know in PHP :p
Goodluck.
Bonmat86.
0
 
LVL 15

Expert Comment

by:Thogek
ID: 17148899
I think I couple of good suggestions were made (either bonmat86's or mine might have worked), but the Asker never responded to them...
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why do we like using grid based layouts in website design? Let's look at the live examples of websites and compare them to grid based WordPress themes.
This article discusses four methods for overlaying images in a container on a web page
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).
Suggested Courses

877 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question