Chcę załadować plik home.html <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>
Działa to dobrze, gdy używam przeglądarki Firefox. Kiedy używam Google Chrome, prosi o wtyczkę. Jak sprawić, by działał w Google Chrome?
javascript
html
google-chrome
Giliweed
źródło
źródło
load_home(); return false
Odpowiedzi:
W końcu znalazłem odpowiedź na mój problem. Rozwiązaniem jest
źródło
type="type/html"
zmienia się natype="text/html"
Możesz użyć funkcji ładowania jQuery:
Przepraszam. Edytowane po kliknięciu zamiast wczytywania.
źródło
Pobierz API
XHR API
opierając się na swoich ograniczeniach, powinieneś użyć Ajax i upewnić się, że twój javascript jest załadowany przed znacznikiem, który wywołuje
load_home()
funkcjęReferencje - davidwalsh
MDN - Korzystanie z funkcji Fetch
Demo JSFIDDLE
źródło
Content-Type
nagłówka doGET
żądania nie ma sensu - myślę, że miałeś na myślisetRequestHeader("Accept", "text/html")
?Pobieranie HTML w nowoczesnym stylu Javascript
Takie podejście wykorzystuje nowoczesne funkcje JavaScript, takie jak
async/await
ifetch
API. Pobiera HTML jako tekst, a następnie przekazuje go doinnerHTML
elementu kontenera.To
await (await fetch(url)).text()
może wydawać się nieco skomplikowane, ale łatwo to wyjaśnić. Ma dwa asynchroniczne kroki i możesz przepisać tę funkcję w następujący sposób:Więcej informacji znajdziesz w dokumentacji interfejsu API pobierania .
źródło
Widziałem to i pomyślałem, że wygląda całkiem ładnie, więc przeprowadziłem na nim kilka testów.
Może się to wydawać czystym podejściem, ale pod względem wydajności jest opóźnione o 50% w porównaniu z czasem potrzebnym do załadowania strony z funkcją ładowania jQuery lub przy użyciu standardowego podejścia javascript XMLHttpRequest, które były z grubsza do siebie podobne.
Wyobrażam sobie, że dzieje się tak, ponieważ pod maską pobiera stronę w dokładnie ten sam sposób, ale musi również poradzić sobie z konstruowaniem zupełnie nowego obiektu HTMLElement.
Podsumowując, sugeruję użycie jQuery. Składnia jest tak łatwa w użyciu, jak to tylko możliwe, i ma ładnie skonstruowane wywołanie zwrotne do użycia. Jest również stosunkowo szybki. Podejście waniliowe może być szybsze o niezauważalne kilka milisekund, ale składnia jest zagmatwana. Używałbym tego tylko w środowisku, w którym nie miałem dostępu do jQuery.
Oto kod, który testowałem - jest dość prymitywny, ale czasy wróciły bardzo spójne po wielu próbach, więc powiedziałbym, że w każdym przypadku jest dokładny do około + - 5 ms. Testy zostały przeprowadzone w przeglądarce Chrome z mojego własnego serwera domowego:
źródło
Podczas używania
Następnie pamiętaj, że nie możesz "debugować" lokalnie w chrome, ponieważ XMLHttpRequest nie może załadować - NIE oznacza to, że nie działa, po prostu oznacza, że musisz przetestować swój kod w tej samej domenie. Twój serwer
źródło
Możesz użyć jQuery:
źródło
próbować
Pokaż fragment kodu
źródło
lub
źródło
Na githubie jest taka wtyczka, która ładuje zawartość do elementu. Oto repozytorium
https://github.com/abdi0987/ViaJS
źródło
Jest to zwykle potrzebne, gdy chcesz dołączyć plik header.php lub jakąkolwiek inną stronę.
W Javie jest to łatwe, zwłaszcza jeśli masz stronę HTML i nie chcesz używać funkcji dołączania php, ale w ogóle powinieneś napisać funkcję php i dodać ją jako funkcję Java w tagu skryptu.
W takim przypadku powinieneś napisać go bez funkcji, po której następuje nazwa Just. Skrypt wściekł się na słowo funkcyjne i uruchom nagłówek include.php To znaczy przekonwertuj funkcję dołączania php na funkcję Java w tagu skryptu i umieść całą zawartość w tym dołączonym pliku.
źródło
Użyj tego prostego kodu
źródło
w3-include-HTML
jest częściąW3.JS
biblioteki skryptów W3Schools.com (dostępnej tutaj: w3schools.com/w3js/default.asp ). Chcę zaznaczyć, że W3Schools (oraz w3.js iw3.includeHTML()
) nie są w żaden sposób powiązane z Konsorcjum W3 (jedną z dwóch głównych grup definiujących standardy HTML + CSS + DOM (druga grupa to WHATWG).showhide.html
showhide_embedded.html
źródło
Jeśli Twój plik HTML znajduje się lokalnie, wybierz element iframe zamiast tagu. Tagi nie działają w różnych przeglądarkach i są najczęściej używane we Flashu
Na przykład:
<iframe src="home.html" width="100" height="100"/>
źródło