2015-06-15 10 views
5

HTML kitabını numaralı eylemde okudum ve 5. bölümde, çevrimdışı çalıştırılabilen bir mobil uygulamanın nasıl oluşturulacağını gösterir. Tek şüphem şudur: Bunu tüm sayfa için yapabilir miyim? Bana nasıl yapılacağına dair basit ama eksiksiz bir örnek verebilir misiniz?Tüm sayfayı depolamak için `localStorage 'özelliğini nasıl kullanabilirim?

Şimdiden teşekkürler.

+1

Görünüş: http://stackoverflow.com/questions/11271898/how-to-save-a-webpage-locally-including-pictures-etc – sumit

+2

[AppCaching] 'e bakın (https://developer.mozilla.org/en/docs/Web/HTML/Using_the_application_cache). Tüm bir sayfa için – Xufox

+1

bir manifesto dosyası kullanmalısınız. yerel depolama değil, çok küçük. –

cevap

6

Kinda deli okuyabilir ancak bunu gibi yapabileceğini:

var htmlContents = document.documentElement.innerHTML; 
localStorage.setItem('myBook', JSON.stringify(htmlContents)); 

istediğiniz zaman çağırabilirsiniz Oradan ..

localStorage.getItem('myBook'); 

daha iyi olurdu Tabii ki tüm kitap yerine aslında ders içeriğini almak için!

Ayrıca bununla daha sonra ne yapmak istediğinize gelince. Sadece tarayıcınızda sadece .. bu yüzden sadece sizin için erişilebilir. AppCahce yöntemi için , temelde kullanıcı çevrimdışı olduğunda, önbellekte saklamak istediğiniz dosyaların tarayıcılarını ziyaret edeceksiniz.

Bu HTML Özellikte tanımlanması gerekir:

<html manifest="offline_book.manifest"> 

Bu offline_book.manifest önbellekte saklamak için dosya listesini içerecektir. Kullanıcılar bu sayfayı (çevrimdışı) geri gelip bu sayesinde

CACHE MANIFEST 
/book_index.html 
/another_book.html 
/maybe_some_style.css 

, o zaman, onlar listeledik kitapların önbelleğe alınmış bir sürümünü sahip olacaktır.

appCache özelliklerini içine mükemmel bir kaynak: Offline Webpages

bu işe
+0

Kullanıcı tüm sayfayı çevrimdışı olarak yükleyebilir mi? – Kyle

+0

Eğer javascript'i önbellekte yüklendikten sonra yükleyebildiyse, evet kesinlikle, ama büyük olasılıkla 'appCaching' durumunuz için daha iyi bir seçenektir. – Pogrindis

+1

Tamam teşekkürler, ben kontrol etmek için gidiyorum :) – Kyle

1

Örneğin değişken kaydetmek için localStorage kullanabilirsiniz:

// Store 
localStorage.setItem("lastname", "Smith"); 
// Retrieve 
document.getElementById("result").innerHTML = localStorage.getItem("lastname"); 

ve sonra bunu elde:

localStorage.getItem('lastname'); 

window.localStorage uygulanan takip arayüzü hangi accepted by W3C:

interface Storage { 
    readonly attribute unsigned long length; 
    [IndexGetter] DOMString key(in unsigned long index); 
    [NameGetter] DOMString getItem(in DOMString key); 
    [NameSetter] void setItem(in DOMString key, in DOMString data); 
    [NameDeleter] void removeItem(in DOMString key); 
    void clear(); 
}; 

Daha fazla bilgi Eğer here

+0

'localStorage' +1'i nasıl kullanacağınızı açıkladığınız için teşekkürler :) – Kyle

İlgili konular