469,332 Members | 6,612 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,332 developers. It's quick & easy.

Frames - no scrollbar

Hi all,

I have a frame layout of my site as follows:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>WikiTech</title>
</head>
<frameset id="fstSiteLayout" rows="115,*,22" bordercolor="#dcdcdc"
frameborder="yes" framespacing="1">
<frame id="frmMastHeadFrame" scrolling="no" noresize
target="frmContentFrame" src="./Aspx_Data/WikiTech_Site/masthead.aspx"
/>
<frameset id="fstMainLayout" cols="216,*" frameborder="yes"
framespacing="3">
<frameset id="fstNavigationLayout" rows="102,*"
framespacing="0" frameborder="no">
<frame id="frmQuickSearchFrame" scrolling="no"
src="./Aspx_Data/WikiTech_Site/quicksearch.aspx" />
<frame id="frmNavTreeFrame" scrolling="auto"
target="frmContentFrame" src="./Aspx_Data/WikiTech_Site/navtree.aspx"
/>
</frameset>
<frame id="frmContentFrame" frameborder="no"
bordercolor="#003399" src="./Aspx_Data/WikiTech_Site/main.aspx" />
</frameset>
<frame id="frmDiscussThreadFrame" scrolling="no" noresize
target="frmContentFrame"
src="./Aspx_Data/WikiTech_Site/discussthread.aspx" />
</frameset>
</html>

Then on the discussthread.aspx page (frame id of
"frmDiscussThreadFrame"), there is a button there that when clicked, it
will call the javascript function below:

function jsfToggleDiscussionFrame()
{
var fstSiteLayout =
window.parent.document.getElementById("fstSiteLayo ut");
var frmDiscussThreadFrame =
window.parent.document.getElementById("frmDiscussT hreadFrame");
var intRowSize =
fstSiteLayout.rows.substring(fstSiteLayout.rows.la stIndexOf(',') + 1);
if (intRowSize != 22)
{
fstSiteLayout.rows="115,*,22";
frmDiscussThreadFrame.scrolling="no";
frmDiscussThreadFrame.noResize=true;

}
else
{
fstSiteLayout.rows="115,*,115";
frmDiscussThreadFrame.scrolling="auto";
frmDiscussThreadFrame.noResize=false;

}
}

The javascript function works on expanding & restoring the
"frmDiscussThreadFrame" frame without a problem.

My problem is that when the frame is on "expanded" form, scrollbars
wont show up, even if the discussthread.aspx page has a lot of content
in it. I'm really in a stump here.

Tha javascript code looks correct though:
fstSiteLayout.rows="115,*,115";
frmDiscussThreadFrame.scrolling="auto";
frmDiscussThreadFrame.noResize=false;
I've tried frmDiscussThreadFrame.scrolling="yes"; too but still,
scrollbar for the discussthread.aspx page won't show up.

What I notice is that when the frame definition of the frame id:
"frmDiscussThreadFrame" has been remove of the scrolling="no" tag, the
javascript works! I will have scrollbars when on "expanded" form.

<frame id="frmDiscussThreadFrame" noresize target="frmContentFrame"
src="./Aspx_Data/WikiTech_Site/discussthread.aspx" />

So my impression on this is that you cannot define the javascript
frmDiscussThreadFrame.scrolling="auto"; or
frmDiscussThreadFrame.scrolling="yes"; on demand.

Is this true? Or I've made a mistake somewhere?

Thanks,
Henry :)

Dec 3 '06 #1
4 9224
ASM
wardemon a écrit :
>
function jsfToggleDiscussionFrame()
{
var fstSiteLayout =
window.parent.document.getElementById("fstSiteLayo ut");
var frmDiscussThreadFrame =
window.parent.document.getElementById("frmDiscussT hreadFrame");
var intRowSize =
fstSiteLayout.rows.substring(fstSiteLayout.rows.la stIndexOf(',') + 1);
if (intRowSize != 22)
{
fstSiteLayout.rows="115,*,22";
frmDiscussThreadFrame.scrolling="no";
frmDiscussThreadFrame.noResize=true;
This last line would have to mean nothing
(not important as you want resising)
}
else
{
fstSiteLayout.rows="115,*,115";
frmDiscussThreadFrame.scrolling="auto";
frmDiscussThreadFrame.noResize=false;
Wouldn't it have to be :
frmDiscussThreadFrame.noresize=false;
}
}

The javascript function works on expanding & restoring the
"frmDiscussThreadFrame" frame without a problem.
a chance ?
My problem is that when the frame is on "expanded" form, scrollbars
wont show up, even if the discussthread.aspx page has a lot of content
in it. I'm really in a stump here.

Tha javascript code looks correct though:
fstSiteLayout.rows="115,*,115";
frmDiscussThreadFrame.scrolling="auto";
frmDiscussThreadFrame.noResize=false;
try :
frmDiscussThreadFrame.removeAttribute("noresise");

and don't forget to set it back in first condition
frmDiscussThreadFrame.setAttribute("noresise","nor esize");
or ?
frmDiscussThreadFrame.setAttribute("noresise","tru e");
I've tried frmDiscussThreadFrame.scrolling="yes"; too but still,
So my impression on this is that you cannot define the javascript
frmDiscussThreadFrame.scrolling="auto"; or
frmDiscussThreadFrame.scrolling="yes"; on demand.
and with setAttribute ?
frmDiscussThreadFrame.setAttribute("scrolling","ye s");


--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
Stephane Moriaux and his (less) old Mac already out of date
Dec 3 '06 #2
Hi,
Thanks for the tip. I've tried your suggestions but still it wont
work. Here's a quick excersise example of my problem:
I still can't have the noresize and the scrolling property of the
frame object to work. I'm using IE6 on Windows XP Service Pack 2

Thanks,
Henry :)

framed_site.html
======
<html>
<frameset cols="50%,50%">
<frame id="leftFrame" src="frame_scroll.htm">
<frame id="rightFrame" noresize scrolling="no" src="frame_a.htm">
</frameset>
</html>

frame_scroll.htm
=======
<html>
<head>
<script type="text/javascript">
function enableScrolling()
{
window.parent.document.getElementById("rightFrame" ).scrolling="yes";
window.parent.document.getElementById("rightFrame" ).noresize=false;
}
function disableScrolling()
{
window.parent.document.getElementById("rightFrame" ).scrolling="no";
window.parent.document.getElementById("rightFrame" ).noresize=true;
}
</script>
</head>
<body>
<input type="button" onclick="enableScrolling()" value="Scroll bars &
Resize" />
<input type="button" onclick="disableScrolling()" value="No scroll bars
& NoResize" />
</body>
</html>
frame_a.htm
=========
<html>
<head>
</head>
<body>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
Some Text Here <br>
</body>
</html>

Dec 4 '06 #3
ASM
wardemon a écrit :
I still can't have the noresize and the scrolling property of the
frame object to work. I'm using IE6 on Windows XP Service Pack 2
I'm very sorry for you.

I think you'll have to move border inter-frames to excite IE :-)
(Opera needs that too)
(Safari and iCab do nothing with theses scroll and co)

framed_site.html
======
<html>
<frameset id="general" cols="50%,50%">
<frame id="leftFrame" src="frame_scroll.htm">
<frame id="rightFrame" noresize scrolling="no" src="frame_a.htm">
</frameset>
</html>

frame_scroll.htm
=======
<html>
<head>
<script type="text/javascript">
function enableScrolling()
{
var target = parent.document.getElementById("rightFrame");
target.scrolling='yes';
target.removeAttribute('noresize');
// move your bottom you IE and others !
parent.document.getElementById("general").setAttri bute('cols','51%,49%');
setTimeout(
'parent.document.getElementById("general").setAttr ibute("cols","50%,50%")',
50);
}
function disableScrolling()
{
var target = parent.document.getElementById("rightFrame");
target.setAttribute('noresize',true);
// or ?
// target.noresize=true;
target.scrolling='no';
// move your bottom you IE and others !
parent.document.getElementById("general").setAttri bute('cols','51%,49%');
setTimeout(
'parent.document.getElementById("general").setAttr ibute("cols","50%,50%")',
50);
}
</script>
</head>
<body>
<input type="button" onclick="enableScrolling()" value="Scroll bars &
Resize" />
<input type="button" onclick="disableScrolling()" value="No scroll bars
& NoResize" />
</body>
</html>
--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
Stephane Moriaux and his (less) old Mac already out of date
Dec 4 '06 #4
found the answer by using document.body.scroll

function jsfToggleDiscussionFrame()
{
var fstSiteLayout =
window.parent.document.getElementById("fstSiteLayo ut");
var frmDiscussThreadFrame =
window.parent.document.getElementById("frmDiscussT hreadFrame");
var intRowSize =
fstSiteLayout.rows.substring(fstSiteLayout.rows.la stIndexOf(',') + 1);
if (intRowSize != 22)
{
fstSiteLayout.rows="115,*,22";
frmDiscussThreadFrame.scrolling="no"; //does not work for some
reason
frmDiscussThreadFrame.noResize=true; //disables resizing of
discussion frame
document.body.scroll = "no"; //hides scrollbars
}
else
{
fstSiteLayout.rows="115,*,115";
frmDiscussThreadFrame.scrolling="auto"; //does not work for
some reason
frmDiscussThreadFrame.noResize=false; //enable resizing of
discussion frame
document.body.scroll = "yes"; //displays scrollbars
}
}

Dec 7 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by ohaya | last post: by
1 post views Thread by Carol Wang | last post: by
14 posts views Thread by x | last post: by
2 posts views Thread by C P | last post: by
3 posts views Thread by jm | last post: by
14 posts views Thread by Michael Weis | last post: by
56 posts views Thread by Deepan HTML | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
1 post views Thread by Marylou17 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.