I have multiple (3-4) CGI scripts which should be presented on one HTML page.
I tried this:
<html>
<head>
<title>Testing</title>
</head>
<body>
<h1>TESTPAGE<BR></h1>
<frameset cols="35%,20%,*">
<frame src="./cgi-bin/1.cgi">
<frame src="./cgi-bin/2.cgi">
<frame src="./cgi-bin/3.cgi">
</frameset>
</body>
</html>
Only TESTPAGE is shown, no cgi was opened.
Your HTML is invalid. A validator would have told you what the problem was.
You can't have a <frameset> inside a <body>. You use a <frameset> instead of a <body>.
When your browser encounters the <frameset>, it is already rendering a normal HTML body, so it ignores it because it has no place to put it.
Related
I'm trying to split html file into 2 different files:
<html>
<head>
</head>
<body>
<frameset cols="25%,75%">
<frame src="addNewEvent.html" />
<frame src="totalEvents.html" />
</frameset>
</body>
</html>
addNewEvent.html:
<html>
<head>
</head>
<body>
Left
</body>
</html>
totalEvents.html:
<html>
<head>
</head>
<body>
Right
</body>
</html>
The 3 files (main html and addNewEvent.html, totalEvents.html) are in the same directory.
(I just learning html, so for now, I'm not using server, and open the main page with the browser.
When opening the main page in the browser, is seems that the addNewEvent.html, totalEvents.html are not loaded. (There is no error in console log)
What an I doing wrong ?
Is it right to split the page into little pages with frameset ?
What an I doing wrong ?
You didn't use a validator which would have told you that a <frameset> element is not allowed inside a <body> element.
Frameset documents have a <frameset> instead of a <body> element. Since the HTML document already had its own <body>, the browser ignored the <frameset>.
Is it right to split the page into little pages with frameset ?
That's largely a matter of opinion. They do cause various issues with how they interact with browser navigation controls and do not exist in HTML 5.
I'm trying to segment the total window into 2 frames.In those two frames I'm trying to load the html page.I'm able to segement an entire window into frames but unable to load a html page within that frame.
My test.html:
<!DOCTYPE html>
<html>
<head>
<title>HTML Target Frames</title>
</head>
<frameset cols="200, *">
<frame src="/home/divya/html_docs/current/menu.html" name="menu_page" />
<frame src="/home/divya/html_docs/current/main.html" name="main_page" />
<noframes>
<body>
Your browser does not support frames.
</body>
</noframes>
</frameset>
</html>
Can anyone suggest me about this issue ...
You are putting absolute server paths of the files.
In your case you will get then:
http://yourdomain.com/home/divya/html_docs/current/menu.html
put there urls relative to your test.html file. like: src="current/menu.html"
or if the files are in the same directory just src="menu.html"
Will this work?
<html>
<body>
<center>
<frameset rows="50%,50%">
<frame src="images.html">
<frameset>
<form action="abc.html">
<input type="submit" name="abc page" value="abc page">
</form>
</frameset>
</frameset>
</center>
</body>
</html>
Can I give the code as above, like giving a html link page in a frame, and in other frame, a HTML code.
Yes You can. The <frameset> tag defines a frameset.
The <frameset> element holds one or more elements. Each element can hold a separate document.
<frameset> and <frame> are both deprecated. Avoid using them.
Use an <iframe> instead.
Here's an example: http://jsfiddle.net/kqo9yhk5/
HTML:
<iframe src="http://jsfiddle.net/" frameborder="0"></iframe>
I am using Webmin on my server. For some reason it's decided to stop displaying anything on the root page, it's completely blank. However it's still returning code, shown below. The individual pages in the frames work perfectly but the frameset just doesn't want to display, in any browser, for some reason.
I have stripped it right down to this, running on a local server but it still doesn't show anything:
<!DOCTYPE html public "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Title</title>
</head>
<body>
<frameset cols="230,*">
<frame name="left" src="test1.html" scrolling="auto">
<frame name="right" src="test2.html" noresize>
</frameset>
</body>
</html>
I've also tried removing and changing various attributes but no luck.
The <frameset> element replaces the <body> element. You can't use both in the same document.
You should write:
<!DOCTYPE html public "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Title</title>
</head>
<frameset cols="230, *">
<frame name="left" src="test1.html" scrolling="auto" />
<frame name="right" src="test2.html" noresize="noresize" />
</frameset>
</html>
Take out the <body></body> tag.
How can I modify this frames so that users can not move those frames?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title></title>
</head>
<frameset border="1" rows="100, 200" >
<frame src="page1.html">
<frameset border="1" cols="20%, 80%" >
<frame src="page2.html">
<frame src="page3.html">
</frameset>
</frameset>
</html>
You can use the noresize attribute to disable it:
<frameset border="1" rows="100, 200" >
<frame src="page1.html" noresize>
<frameset border="1" cols="20%, 80%" >
<frame src="page2.html" noresize>
<frame src="page3.html" noresize>
</frameset>
</frameset>
I second what Nick said, but would just like to add that I think it should be one of the following:
noresize="true"
noresize="noresize"
I am not sure which one it is, but I know the attribute "nowrap" uses "nowrap" for the value too, instead of true. Can someone please confirm which of the above options applies here?
Also do you have to use frames? I notice you are loading pages in each one. If you create them as divs, you can use most server side languages to load pages into the divs. For example:
In ASP.Net you are able to do this - but unfortunately I do not have the code for this available right now. There is a way to process a page within a page.
In PHP you can use the include command (include "page1.htm";). PHP is much simpler in my opinion.