Avatar billede denima Nybegynder
29. april 2008 - 13:44 Der er 22 kommentarer og
2 løsninger

låse iframen

Hej Eksperten.

Jeg har et spørgsmål ang. iframe. Jeg har et problem som jeg oplever tit men har aldrig formået at løse det.

Når jeg har en iframe hvor scrolling="no" bør der ikke kun scrolles. men alligevel kan man med scollknappen scrolle i iframen. Hvordan løses det så at dette ikke kan gøres?

min kode



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>EMC Cosmetics | www.e-m-c.dk | 2008</title>
<link href="forsidecss.css" rel="stylesheet" type="text/css">
<script type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body onLoad="MM_preloadImages('JPGS/menu/profile-2.jpg','JPGS/menu/products-2.jpg','JPGS/menu/labels-2.jpg','JPGS/menu/contact-2.jpg')">
<table width="719" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <th width="191" background="JPGS/head.jpg" scope="col">&nbsp;</th>
    <th class="toppen" scope="col" width="529" height="28">&nbsp;</th>
  </tr>
</table>
<table width="719" height="277" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <th width="24" rowspan="6" scope="col"><img src="JPGS/mid-left.jpg" alt="" width="24" height="268"></th>
    <th width="242" rowspan="6" scope="col"><img src="JPGS/midt-mid.jpg" alt="" width="242" height="268"></th>
    <th width="187" scope="col"><img src="JPGS/menu/top.jpg" alt="" width="187" height="32"></th>
    <th width="266" rowspan="6" scope="col"><img src="JPGS/mid-right.jpg" alt="" width="266" height="268"></th>
  </tr>
  <tr>
    <th scope="col"><a href="sider/standard.html" target="contentframe"><img src="JPGS/menu/profile-1.jpg" alt="" name="Image1" width="187" height="45" border="0" id="Image1" onMouseOver="MM_swapImage('Image1','','JPGS/menu/profile-2.jpg',1)" onMouseOut="MM_swapImgRestore()"></a></th>
  </tr>
  <tr>
    <th scope="col"><img src="JPGS/menu/products-1.jpg" alt="" width="187" height="40" id="Image2" onMouseOver="MM_swapImage('Image2','','JPGS/menu/products-2.jpg',1)" onMouseOut="MM_swapImgRestore()"></th>
  </tr>
  <tr>
    <th scope="col"><img src="JPGS/menu/labels-1.jpg" alt="" width="187" height="40" id="Image3" onMouseOver="MM_swapImage('Image3','','JPGS/menu/labels-2.jpg',1)" onMouseOut="MM_swapImgRestore()"></th>
  </tr>
  <tr>
    <th scope="col"><img src="JPGS/menu/contact-1.jpg" alt="" width="187" height="40" id="Image4" onMouseOver="MM_swapImage('Image4','','JPGS/menu/contact-2.jpg',1)" onMouseOut="MM_swapImgRestore()"></th>
  </tr>
  <tr>
    <th height="71" scope="col"><img src="JPGS/menu/bund.jpg" alt="" width="187" height="71"></th>
  </tr>
  <tr>
    <th height="9" colspan="4" scope="col" bgcolor="#555554" background="JPGS/content-up-1.jpg"></th>
  </tr>
</table>
<table width="719" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <th width="719" height="399" scope="col">
    <iframe name="contentframe" scrolling="no" border="0" frameborder="0" width="719" height="399" src="sider/forside.html"></iframe></th>
  </tr>
  <tr>
    <th width="719" height="35" bgcolor="#555554" class="bundtekst" scope="col">EMC Cosmetics | Tuneparkvej 4 | 4000 Roskilde | Tel.: (+45) 7020 6858 | info@e-m-c.dk<br>
    <span class="bundtekst2">Copyright © Kenni W. Rostgaard - 2008</span> </th>
  </tr>
</table>
</body>
</html>


http://klasse.aabc.dk/akkeros/array/test/default.html
Avatar billede w13 Novice
29. april 2008 - 13:50 #1
Du kan vel sætte dette på iframens body:

onscroll="this.scrollTop=0"
Avatar billede denima Nybegynder
29. april 2008 - 13:52 #2
altså direkte ind i

<iframe name="contentframe" scrolling="no" border="0" frameborder="0" width="719" height="399" src="sider/forside.html" ></iframe>

?
Avatar billede w13 Novice
29. april 2008 - 14:18 #3
Du skal så sætte det på body i dokumentet "sider/forside.html".

Dvs. <body onscroll="this.scrollTop=0">
Avatar billede denima Nybegynder
29. april 2008 - 14:22 #4
Det funger ikke. Har prøvet smide det i body på både forside.html og default siden
Avatar billede w13 Novice
29. april 2008 - 14:39 #5
Hvad så hvis du prøver:

<body onscroll="alert('Hello World')">

på forside.html

- får du så beskeden "Hello World" når du scroller?
Avatar billede w13 Novice
29. april 2008 - 14:39 #6
Alternativt kan du også prøve at bruge denne body på forside.html:

<body style="height:399px;overflow:hidden">
Avatar billede denima Nybegynder
29. april 2008 - 14:44 #7
Jeg får pop up'en med Hello World, så onScroll ser ud til at virke - dog ikke med scrolltop=0 :s

Og style="height:399px;overflow:hidden" ser ikke ud til at virke heller :z
Avatar billede w13 Novice
29. april 2008 - 15:01 #8
Bruger du this.scrollTop=0 eller kun scrollTop=0?

Jeg afprøver det lige selv.
Avatar billede w13 Novice
29. april 2008 - 15:04 #9
<body onscroll="window.scrollBy(-100,-100)">
er testet og virker!
Avatar billede denima Nybegynder
29. april 2008 - 19:40 #10
Kan se det virker, men når man tager fat "hopper" den tilbage. Det kan ikke gøres så at den ikke "hopper"? :p
Avatar billede w13 Novice
29. april 2008 - 19:42 #11
Sikkert :)

Evt.:

<body onscroll="setTimeout('window.scrollBy(-2,-2)',10)">
Avatar billede w13 Novice
29. april 2008 - 19:42 #12
Hov, skulle have været:

<body onscroll="setInterval('window.scrollBy(-2,-2)',10)">
Avatar billede denima Nybegynder
29. april 2008 - 19:43 #13
Det gør ikke rigtig nogen forskel :)
Avatar billede denima Nybegynder
29. april 2008 - 19:46 #14
=/
Avatar billede w13 Novice
29. april 2008 - 19:50 #15
Dette er nok det tætteste, jeg kan komme på en "glidende" scrolleffekt, der passer til dit formål:

<body onscroll="setInterval('window.scrollBy(-1,-1)',200)">
Avatar billede denima Nybegynder
29. april 2008 - 19:54 #16
Jamen jeg ønsker jo ikke en scrolleffekt overhovedet :)?
jeg ønsker at man ikke kan tage fat. Altså at rykke rundt med det. :s
Avatar billede w13 Novice
29. april 2008 - 19:57 #17
Nej, den er jeg bange for, er sværere. :) Hvorfor vil du også det? Min kode hopper jo op med det samme.
Avatar billede denima Nybegynder
29. april 2008 - 19:59 #18
Yes det ved jeg godt din kode gør :) Altså den er også bedre end alternativet - men det bare irriterende at den gør det ;P Hehe.
Men du får selvf. dine point :)
Avatar billede w13 Novice
29. april 2008 - 19:59 #19
Hvad er det, du viser i din iframe? For hvis du bare lægger alt indholdet i en div som denne, så bliver overflødigt indhold skjult for brugeren:

<html>
<head></head>
<body>

<div style="height:399px;overflow:hidden">

... indhold her ...

</div>

</body>
</html>

Indholdet kan selvfølgelig stadig ses ved "Vis kilde".
Avatar billede denima Nybegynder
29. april 2008 - 20:06 #20
Jamen min iframe bliver brugt til at vise de forskellige sider i.. som fx forside, produkter osv..
Avatar billede w13 Novice
29. april 2008 - 20:16 #21
Men man må ikke kunne scrolle på siderne??

Div'en ville kunne løse det, som du ønsker det.
Avatar billede denima Nybegynder
29. april 2008 - 20:31 #22
jamen hvordan?
Skal div'en smides ind i forside.html ?
Avatar billede w13 Novice
29. april 2008 - 20:35 #23
Ja. Som i mit eksempel 19:59:12
Avatar billede denima Nybegynder
29. april 2008 - 20:38 #24
Ok. jeg takker for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester