5

çalışmaz:innerHTML sayfamda bir bölümünü yenilemek için ben bu kodları kullanmak IE11 ve IE8

var container = document.getElementById("mainForm:table_1"); 
var content = container.innerHTML; 
container.innerHTML= content; 

container.innerHTML firefox ve krom iyi çalıştı ama IE8 çalışmıyor ve IE11

Ben bu bağlantıları okudum: .InnerHTML Not working properly in Internet Explorer ve document.getElementById().innerHTML fails with 'Unknown Error' in IE

ama benim sorunum benim kod EAS diğer kısmını değiştiremezsiniz olmasıdır Dinamik olarak nesilden dolayı.

1) IE sorununu çözmek için kodumun bu kısmı ile yapabileceğim herhangi bir yol var mı? aktarma durumu desteklemez aşağıdaki IE8 ve IE9

+0

"mainForm: table_1" öğesi bir "

" öğesi olduğunu tahmin etmeye mi gidiyor? Eğer öyleyse, tablonun ana öğesini seçmeyi ve tablonun tamamını değiştirmeyi deneyin. –

+0

evet haklısınız, bu bir masa. Bunu yapmaya çalışıyorum ve sorumun ikinci kısmına ne dersin? ie8 ve ie9 ile çalışan pushstate gibi bir şeye nasıl url ekleyebilirim? Cevabınız için teşekkürler – OmiD

cevap

2

Sorunuzun ilk bölümü için bunu yapmak:

var History = window.History; 
History.enabled ; 
History.pushState("object or string", "object or string", "object or string"); 
6

IE9 çalışmak ve etmez

window.history.pushState() 

:

2) ve aynı zamanda I için bir alternatif gerekir. unsupported browsers için history API kullanın. ve ayrıca polyfills here'un daha fazla listesini bulabilirsiniz. @JITHIN PV Eğer history.js

kolayca bu gibi kullanabilirsiniz kullanmalıdır söylediği gibi

var container = document.getElementById("mainForm:table_1").parentNode; 
    var content = container.innerHTML 
    container.innerHTML= content; 

ve sorunun ikinci bölümü için:

+0

evet haklısınız, işe yaramıyor, ancak yerel javascript ya da jquery ile bunu yapmanın bir yolu yok mu? geçmiş API kullanarak dışarı kullanma – OmiD

+0

@OmiD Eski/eski tarayıcıları desteklemeyi bırakabilirsiniz. Güncellemeyi reddeden kullanıcılara saldırma vakti geldi - özellikle de bu kadar çok şey yapmak, Windows Update'i devre dışı bırakarak el ile ve kasten gerektirir (ve bu nedenle de kötüye kullanmamız gerekir). –

İlgili konular