2014-09-08 18 views
6

ile bir belgede oluşturulamıyor window.history.replaceState(null, null, 'about');main.js içinde required/javascripts sunucumda bulunur.replaceState(): url ile bir geçmiş durumu ...

Daha sonra ilgili sayfada (/ (kök) sunucumda bulunur), bu sayfada window.history.replaceState(null, null, 'about:me'); kullanan bir bağlantı var. Her şey çalışıyor, ama aynı işlevi ile başka bağlantıyı tıkladıktan sonra URL olarak about:girlfriend ile, bu hata mesajını alıyorum zaman:

Uncaught SecurityError: Failed to execute 'pushState' on 'History': A history state object with URL 'about:girlfriend' cannot be created in a document with origin 'http://my.domain.com'.

bilmiyorum neden benim tarayıcı (son sürümü Chrome) Bu sayfaya pushState kullanarak ulaşmaya çalıştığımı düşünüyorum ve kaç kez okuduğum önemli değil, neden bu hata mesajını alıyorum bilmiyorum. Birisi bunu benim için açıklayabilir mi? Bunun için History.js kullanmıyorum.

Worth söz, ben başka bir şeye : değiştirirseniz ben - veya / gibi bu hata mesajını alamıyorum olmasıdır.kullanmak istiyorum çünkü / çalışmıyor (404 Sayfa bulunamadı) ve - uymuyor - : ile daha iyi.

+0

Hiç bu çözdü mü . – najk

+4

[Javascript history.PushState çalışmıyor?] Olası kopyası. (Http://stackoverflow.com/questions/20079704/javascript-history-pushstate-not-working). Ayrıca, web sayfasını yerel olarak görüntülemeye çalışıyorsanız bu hatayı alacağınızı unutmayın. Sayfanın çalışması için bir HTTP sunucusuna gitmesi gerekiyor, bu yüzden tarayıcınızda index.html dosyasını sabit diskinizden açıyorsanız, bu hatayı alacaksınız. – davidcondrey

cevap

4

yerel olarak bunu yapmak çalışıyorsanız, hem yerel hem uzaktan yüklenen sayfalar için aşağıdaki çalışır: Ben şu anda benim projede aynı sorun var çünkü

history.replaceState(null,null, window.location.pathname + "your thing here") 
İlgili konular