ďťż

[AJAX] iframe jak to zrobić

       

Podstrony


telcocafe

Chodzi mi o ajaxowy Iframe
Mam taki Skrypt co wyświetla zawartość plików 1.html 2.html 3.htm w DIVIE "MYSPAN" bez przeładowania strony głównej po kliknięciu na LINKI zamieszczone w kodzie niżej.

Proszę o pomoc jak zamieścić defaultowo zawartość strony 1.htm w divie "myspan" po otworzeniu tejże strony głównej.
DIV znajduje się na samym dole w tym kodzie.

Poniżej skrypt źródłowy strony głównej:

<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>html in html</title> <script type="text/javascript" language="javascript"> var http_request = false; function makeRequest(url, parameters) { http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { // set type accordingly to anti[ciach!]ted content type //http_request.overrideMimeType('text/xml'); http_request.overrideMimeType('text/html'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Cannot create XMLHTTP instance'); return false; } http_request.onreadystatechange = alertContents; http_request.open('GET', url + parameters, true); http_request.send(null); } function alertContents() { if (http_request.readyState == 4) { if (http_request.status == 200) { //alert(http_request.responseText); result = http_request.responseText; document.getElementById('myspan').innerHTML = result; } else { alert('There was a problem with the request.'); } } } </script> <style type="text/css" media="screen"><!-- .movie_nav { display: block; } --></style> </head> <body> <div class="movie_nav"><a href="#self" onclick="javascript:makeRequest('1.htm', '');">content 1</a></div> <div class="movie_nav"><a href="#self" onclick="javascript:makeRequest('2.htm', '');">content 2</a></div> <div class="movie_nav"><a href="#self" onclick="javascript:makeRequest('3.htm', '');">content 3</a></div> <div name="myspan" id="myspan"> TUTAJ CHCĘ WYŚWIETLIĆ zawartość pliku 1.htm domyślnie i nie wiem jak to zrobić. I wish there was content from "1.htm" loaded at start here </div> </body>

Z góry dzięki



Takim samym sposobem jak ładujesz zawartość. Funkcje nie służą tylko do tego, by czekać aż użytkownik kliknie <_< var mojaFunkcja = function() { alert('jestem funkcją'); }; mojaFunkcja();Poczytaj o zdarzeniu onload jeśli mimo wszystko nie wiesz co mam na myśli.

PS Nie myl elementu iframe z Ajaksem.
PPS W zdarzeniu onclick nie musisz podawać nazwy protokołu, bo to zdarzenie jest wykonywane przez Javascript.

Dzięki za pomoc Andrzej poczytam o tym z pewnością, ciężko znać się na wszystkim :)...

znalazłem takie rozwiązanie które pozwoli mi załadować dowolną ilość funkcji na stronie w dowolnym miejscu

function onloadHandler(init_fxn) { var old_init = window.onload; var new_init = init_fxn; window.onload = function(){ if (typeof(old_init)=="function") { old_init; } new_init; } return this; }

Pozdrawiam :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.