Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

How can you make frames, and frame target work on Google Chrome?

Posted on 2015-02-02
6
Medium Priority
?
1,480 Views
Last Modified: 2015-02-03
Hello Experts,

I have an issue when using frameset on Google Chrome on a customer's web site of the company I work on.
The frameset is such that it has a top frame, a right frame as a menu and a main frame to display
contents. The html is using HTML4.

The issue we are having is with the menu frame that is targetting to the main frame in order to render
the content for the selected option in the menu. The main frame updates correctly on Firefox and on
Interne Explorer,  the issue appears with Google Chrome because main frame doesn't update, but if
control key + click opens in a new tab.

I have included files reassembling the behaviour above with html files. On the production
environment jsp render the html content with the same effect as in the files that I'm including now. Just open the home.html this will open a frameset. Click on any of the "content" links on the right menu. Content will show up in the main frame on Firefox/Internet Explorer, but Google Chrome won't open them unless you press control key + click  and it will open on a new tub. FireFox/internet Explorer open on the same tab. I need Google Chrome respects the "target" and opens on the same page.

How can you make frames, and frame target work on Google Chrome?

I know there are known security issues related to Google Chrome that may affect the frame behaviour:
a) Sandboxing, which unables two tab contents unable to communicate between them.
b) Frame targetting is disabled by default using local system files (the file:// protocol on the URL)
c) Restrictions loading content on frames on cross-domain content.

However, none of those issues applies to the scenario I'm facing since the local system is not being
used, the web site content is all displayed on the same site, and the content is gathered form the same
domain, and glass flish is used as a web server -so no local files.

Finally Experts, please elaborate on  whether the following alternatives would be a good workaround
in case this issue can't be fixed on Chrome:
1) Using XMLHttpRequest object to update the frame content.
2) Update from HTML4 to HTML5 to use div instead of frames.
3) Replace frames with embdebbed objects

Looking forwards your answers.

-Sergio
content1.html
content2.html
banner.html
home.html
main.html
0
Comment
Question by:successsergio
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 40585772
The files you have posted don't work.  The 'home.html' does not have a 'frame' DOCTYPE and 'menu.html' is used twice although it is not one of the files that you posted.
0
 

Author Comment

by:successsergio
ID: 40586337
0
 

Author Comment

by:successsergio
ID: 40586367
Thank you for the follow up Dave.
I uploaded the "menu.html" which indeed was missing. However the 'home.html' file does contains framesets code and the 'main.html' file doesn't -it only has openning html, head, and body tags but is empty con content, this is how it looks on the productive environment.

The 'home.html' has a frameset which include a frame named "cambios" whose source is taken from 'main.html'. There are options in the 'menu.html' which replace the content in the "cambios" frame with content from the 'content1.html' and 'content2.html' files.

Hope this helps to reproduce the scenario.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 84

Accepted Solution

by:
Dave Baldwin earned 2000 total points
ID: 40587090
Chrome apparently didn't like the '0' width columns in 'home.html'.  I removed them and this is what worked.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
 "http://www.w3.org/TR/html4/frameset.dtd">

<html>
<head>
	<title>Welcome - Lorem ipsum </title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
			<frameset rows="73,*" cols="*" frameborder="no" framespacing="0">
				<frame src="banner.html" frameborder="0" name="topFrame" scrolling="NO" noresize>
				<frameset cols="*,117" frameborder="no" framespacing="0">
					<frame src="main.html" frameborder="0" name="cambios" ></frame>
					<frame src="menu.html" frameborder="0" name="menu" scrolling="NO" noresize>
				</frameset>
			</frameset>
<noframes>
	<body>
	</body>
</noframes>
</html>

Open in new window

0
 

Author Closing Comment

by:successsergio
ID: 40587218
Sheesh, that was excellent!

I had tried as well removing the outer frameset which has rows and columns sized to 0.
It didn't pass thought my mind that the width column with size "0" on the inner frame would make Chrome frawn.

I replicated the frameset structure as suggested and works seamless including in the productive environment!!

Thanks a lot for your valuable help.
0
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 40587308
You're welcome, glad to help.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

When crafting your “Why Us” page, there are a plethora of pitfalls to avoid. Follow these five tips, and you’ll be well on your way to creating an effective page.
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

688 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