Jak mogę szczegółowo mówić o czymś, o czym mam znikome pojęcie?
Jeszcze raz napiszę, o co mi chodzi:
Mam dokument html z tabelą (znacznik <table>, dla tych, którzy nie mogą wiedzieć, o czym mówię) i obok tej tabeli dwa linki do dwóch podstron. I teraz chciałbym, aby po kliknięciu na link numer jeden do tabeli załadowała się podstrona numer jeden, a po kliknięciu na link numer dwa analogicznie załadowała się treść podstrony numer dwa. I teraz sedno problemu, czyli rozciąganie się tabeli do rozmiarów załadowanej podstrony, lecz tylko na wysokość, a nie szerokość. Próbowałem to wykonać za pomocą pływającej ramki, jednak trzeba w jej atrybutach odgórnie zadeklarować wysokość, co mi w tym wypadku nieszczególnie pasuje.
Czy wyraziłem się dostatecznie jasno i klarownie, oraz wyprodukowałem odpowiedniej długości opis mojego problemu, abyś mógł mi teraz pomóc?
// EDIT
Znalazłem
coś takiego, ale działa jedynie w IE. Czy da się zrobić coś podobnego dla innych przeglądarek?
// EDIT 2
Oj, przepraszam, jednak działa również pod FF, tylko zamiast atrybutu "id" zrobiłem "name", co IE tolerował, a FF już nie

. W związku z tym problem rozwiązany (myślę, że temat do usunięcia), a
envp dziękuję za znikomą pomoc.
// EDIT 3
Niestety, to znów ja

.
Ciągle mam problem ze zwiększaniem długości IFRAME w zależności od długości zawartości. Znalazłem trzy skrypty JS i każdy w pewnym sensie działa, ale nie ma tak, żeby któryś działał we wszystkich przeglądarkach. Podam Wam te trzy skrypty i prosiłbym o pomoc w przerobieniu któregoś z nich tak, aby działał w każdej przeglądarce.
Skrypt 1:
Kod
function resizeIframe(x)
{
try
{
x.scrolling='no';
x.style.height=x.contentWindow.document.body.offsetHeight+60+'px'
}
catch(x){}
}
Niestety działa on Tylko pod Firefoxem.
Skrypt 2 (w onload ramki):
Kod
function()
{
try
{
top.window.document.getElementById('ramka').style.height= document.body.scrollHeight+15+'px';
}
catch(e){ }
}
Ten za to działa dobrze jedynie w Internet Explorerze, w FF ramka zostaje w wielkości dostosowanej do największej podstrony (nie zmniejsza się).
Kod
/**
* @author Sławomir Kokłowski {@link http://www.kurshtml.boo.pl}
* @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
*/
// Domyślny identyfikator IFRAME:
var autoiframe_id = 'autoiframe';
// Domyślny dolny margines:
var autoiframe_margin = 50;
var autoiframe_timer = null;
function autoiframe(id, margin)
{
if (parent != self && document.body && document.body.offsetHeight && document.body.scrollHeight)
{
clearTimeout(autoiframe_timer)
if (typeof id != 'undefined' && id) autoiframe_id = id;
parent.document.getElementById(autoiframe_id).height = 1;
autoiframe_timer = setTimeout("parent.document.getElementById(autoiframe_id).height = Math.max(document.body.offsetHeight, document.body.scrollHeight) + " + (typeof margin == 'undefined' || isNaN(parseInt(margin)) ? autoiframe_margin : parseInt(margin)), 1);
}
}
if (window.addEventListener) window.addEventListener('load', function() { autoiframe(); }, false);
else if (window.attachEvent) window.attachEvent('onload', function() { autoiframe(); });
Ten działa jedynie w Firefoxie.
Czy mógłby mi ktoś pomóc? Już siedzę nad tymi ramkami parę dni i zaczynam dostawać na łeb. A może jest jakiś inny, prostszy sposób?