Przejdź do treści

Ramki

Wczytywanie strony do ramki lokalnej

<a target="nazwa ramki lokalnej" href="tu podaj ścieżkę dostępu do strony">opis</a>
gdzie zamiast tekstu "Tu podaj ścieżkę dostępu do strony" należy podać lokalizację na dysku, gdzie znajduje się strona, do której chcemy się przenieść.
Natomiast jako "nazwa ramki lokalnej" należy wpisać nazwę, zdefiniowaną wcześniej w znaczniku IFRAME.

Dzięki tej komendzie dostajemy możliwość wczytywania stron do określonych ramek lokalnych na naszej stronie. Przez to treść w takiej ramce (okienku) może się zmieniać, nawet już po wczytaniu strony.

Aby załadować strony do dwóch (lub więcej) ramek lokalnych jednocześnie, po kliknięciu pojedynczego odsyłacza, zobacz: Wczytanie stron do dwóch ramek.

Przykład:

Przykład

Wczytywanie strony do obiektu

Aby wczytać nowy dokument do elementu OBJECT trzeba wykorzystać skrypt. Wklej w nagłówku dokumentu (w ramach HEAD) następujący kod:

<script type="text/javascript">
// <![CDATA[
/**
 * @author Sławomir Kokłowski {@link http://www.kurshtml.edu.pl}
 * @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
 */

function target_ob(id, a)
{
	if (document.getElementById && document.getElementById(id) && document.getElementById(id).innerHTML)
	{
		var ob = document.getElementById(id).innerHTML;
		if (ob.toLowerCase().indexOf(' data=') != -1)
		{
			var start = ob.toLowerCase().indexOf(' data=');
			var stop = ob.indexOf('"', start+3);
			if (stop == -1 || ob.indexOf('>', start+3) < stop || ob.indexOf('=', start+3) < stop) stop = ob.indexOf(' ', start+3);
			if (stop == -1 || stop > ob.indexOf('>', start+3)) stop = ob.indexOf('>', start+3);

			var minus = -1;
			if ((minus = ob.toLowerCase().indexOf(' width="-')) != -1 || (minus = ob.toLowerCase().indexOf(' width=\'-')) != -1 || (minus = ob.toLowerCase().indexOf(' width=-')) != -1)
			{
				for (var i = minus+8; i < ob.length; i++)
				{
				 if ((ob.charAt(i) < '0' || ob.charAt(i) > '9') && ob.charAt(i) != '-') break;
				}
				ob = ob.substring(0, minus+7+(ob.toLowerCase().indexOf(' width="-') != -1 || ob.toLowerCase().indexOf(' width=\'-') != -1 ? 1 : 0)) + ob.substring(minus+8+(ob.toLowerCase().indexOf(' width="-') != -1|| ob.toLowerCase().indexOf(' width=\'-') != -1 ? 1 : 0), i) + '%' + ob.substring(i);
			}
			var minus = -1;
			if ((minus = ob.toLowerCase().indexOf(' height="-')) != -1 || (minus = ob.toLowerCase().indexOf(' height=-')) != -1)
			{
				for (var i = minus+8; i < ob.length; i++)
				{
					if ((ob.charAt(i) < '0' || ob.charAt(i) > '9') && ob.charAt(i) != '-') break;
				}
				ob = ob.substring(0, minus+8+(ob.toLowerCase().indexOf(' height="-') != -1|| ob.toLowerCase().indexOf(' height=\'-') != -1 ? 1 : 0)) + ob.substring(minus+9+(ob.toLowerCase().indexOf(' height="-') != -1|| ob.toLowerCase().indexOf(' height=\'-') != -1 ? 1 : 0), i) + '%' + ob.substring(i);
			}

			if (stop > start) document.getElementById(id).innerHTML = ob.substring(0, start) + ' data="' + (a.href ? a.href : a) + '"' + ob.substring(stop);
			else return true;
		}
	}
	else return true;

	return false;
}
// ]]>
</script>

Sam obiekt należy ująć w znaczniki <div id="nazwa">...</div>:

<div id="nazwa"><object data="ścieżka dostępu" type="text/html" width="x" height="y">...</object></div>

Teraz wczytywanie nowych stron do takiego obiektu będzie się odbywało w następujący sposób:

<a href="strona.html" onclick="return target_ob('nazwa', this)">...</a>

Przykład:

Zobacz także

Komentarze

Zobacz więcej komentarzy