Mai mult
Cum pot încărca o pagină HTML într-o <div> folosind JavaScript?
Vreau home.html pentru a încărca într <div id="content">
.
<div id="topBar"> <a href ="#" onclick="load_home()"> HOME </a> </div>
<div id ="content"> </div>
<script>
function load_home(){
document.getElementById("content").innerHTML='<object type="type/html" data="home.html" ></object>';
}
</script>
Aceasta funcționează bine atunci când folosesc Firefox. Când eu folosesc Google Chrome, acesta solicită plug-in. Cum a face I a lua it de lucru în Google Chrome?
143
14
În sfârșit am găsit răspunsul la problema mea. Soluția este
Puteți folosi jQuery funcția de încărcare:
Îmi pare rău. Editate de pe faceți clic pe încărcare.
Aduce API
XHR API
bazat pe constrângeri ar trebui să utilizați ajax și asigurați-vă că javascript este încărcat înainte de marcajul care solicită `load_home () funcția
Referință - davidwalsh
MDN - Folosind Aduce
[JSFIDDLE demo](http://jsfiddle.net/jpmCz/)
Am văzut acest lucru și a părut că arată destul de frumos, așa că am făcut niște teste pe ea.
Poate părea ca un curat abordare, dar în termeni de performanță a rămas cu 50% față de momentul în care a luat pentru a încărca o pagină cu jQuery funcția de încărcare sau folosind vanilie javascript abordare de XMLHttpRequest care au fost aproximativ similare cu fiecare alte.
Îmi imaginez că acest lucru este pentru că sub capota devine pagina în exact același mod, dar, de asemenea, are de a face cu construirea o nouă HTMLElement obiect la fel de bine.
În rezumat, am sugerăm să utilizați jQuery. Sintaxa este la fel de ușor de utilizat, deoarece poate fi și ea are un frumos structurat suna înapoi pentru tine de a utiliza. Este, de asemenea, relativ repede. Vanilie abordare poate fi mai repede de un insesizabil câteva milisecunde, dar sintaxa este confuz. Mi-ar folosi doar acest lucru într-un mediu în care nu am't au acces la jQuery.
Aici este codul ce l-am folosit pentru testare este destul de rudimentar, dar ori s-au întors foarte coerente pe mai multe încearcă deci aș putea spune precis la aproximativ +- 5ms în fiecare caz. Testele au fost rulate în Chrome de la propriul meu server de domiciliu:
Preluarea HTML moderne Javascript mod
Această abordare face uz de modern Javascript caracteristici, cum ar fi
asincron/așteaptă " și " adu -
API. Descarcă HTML ca text și apoi hraneste-l lainnerHTML
de element container.Anii
așteaptă (așteaptă aduce(url-ul)).text()
poate părea un pic complicat, dar's ușor de explicat. Acesta are două asincron pași și veți putea rescrie funcția de genul asta:Vezi i aducă documentația API pentru mai multe detalii.
Atunci când se utilizează
Apoi amintiți-vă că nu se poate "depanare" în google chrome de la nivel local, pentru că XMLHttpRequest nu se poate încărca ... Asta NU înseamnă că nu funcționează, înseamnă doar că aveți nevoie pentru a testa codul de pe același domeniu aka. server-ul dvs.
Puteți folosi jQuery :
încercați
sau
Există acest plugin pe github care se încarcă de conținut într-un element. Aici este repo
https://github.com/abdi0987/ViaJS
Acest lucru este de obicei necesară atunci când doriți să le includeți header.php sau orice pagina.
În Java's ușor mai ales dacă aveți pagină HTML și don't doriți să utilizați php include funcție, dar la toate, ar trebui să scrie funcția php și adăugați-l ca Java funcție în script tag-ul.
În acest caz, ar trebui să scrie fără function urmat de numele Doar. Script furie funcția word și începe includ header.php I. e convert php include funcție pentru funcția Java în script tag-ul și loc de toate dvs. de conținut în care sunt incluse fișier.
Universal reutilizabile Pură JavaScript
Eu nu't folosi cadre sau biblioteci (clientii mei poate dacă doresc cu adevărat să) deși platforma web e't împovărat de excesiv și risipă de lățime de bandă. Funcția de mai jos este ceea ce am scris pentru a adăuga direct XML pentru "după", "înainte", "în interiorul" (devine ultimul element) sau "înlocuiți" și element existent. Nu există nici o încredere nedorite cum ar fi
innerHTML
(care, în multe browsere, în căutarea pentru un " id " "adăugat" în acest fel se poate't fi găsit, prin urmare, nu este de încredere). Stand-alone condiție funcții utilizate în exemplele de mai jos sunt în partea de jos a acestui post.id_('content')
) sau un șir de " id " a unui element.<div xmlns="http://www.w3.org/1999/xhtml"><p>tot aici</p></div>
).Funcția
Înțelegerea Corectă DOM Funcționalitate
XML încărcare prin AJAX la DOM corect necesită spațiu de nume XML (
xmlns="http://www.w3.org/1999/xhtml"
) pe elementul rădăcină (poate nu au mai mult de un element rădăcină sau dacă faci asta, va trebui pentru a repeta). Apoi, aveți nevoie pentru a utilizaimportNode
. Restul de funcție este doar semantica unde XML (AJAX, de la o altă funcție, etc) este de a fi plasat în raport cu alte elemente din DOM.Exemple De Utilizare
Adaugă XML "după" un element specific:
Adaugă XML "înainte" un element specific:
Adaugă XML "în interiorul" un element specific (pentru a deveni ultimul copil element):
Pură JavaScript stand-alone condiție funcții
Acestea sunt funcții folosit pe platforma, pentru a evita pedepsirea utilizatorilor cu cinci copii de cadre/biblioteci și asigurarea de înaltă performanță:
Combinând Funcții Personalizate
Dacă doriți curat profesionale JavaScript te're de gând să nevoie pentru a utiliza "prototip" care este uimitor. În exemplu
id_('de exemplu').tag_('td')[0].class_('bine')[0]
funcționează mult mai ușor decât să te pui cu$
interiorul bucle.Plin De Cufere Cu Comori
Am actualiza codul în rare ocazii (pentru ca's rock solid, nu "versiune" dependente). De programare pură JavaScript-l's ușor pentru a evita masiv low-performanță cadre și biblioteci. https://www.jabcreations.com/docs/javascript/#functions
showhide.html
Dacă fișierul html se află la nivel local, apoi du-te pentru iframe în loc de tag-ul. tag-uri nu funcționează cross-browser, și sunt folosite mai ales pentru Flash
De ex :
<iframe src="home.html" lățime="100" înălțime="100"/>