5

tôi sử dụng các mã để làm mới một phần của trang web của tôi:innerHTML không hoạt động trong IE11 và IE8

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

container.innerHTML làm việc tốt trong firefox và chrome nhưng nó không hoạt động trong IE8 và IE11

tôi đã đọc những liên kết này: .InnerHTML Not working properly in Internet Explorerdocument.getElementById().innerHTML fails with 'Unknown Error' in IE

nhưng vấn đề của tôi là tôi không thể thay đổi một phần khác của eas mã của tôi ily do tạo động.

1) Có cách nào để tôi có thể thực hiện chỉ với một phần mã của tôi để giải quyết vấn đề với IE không?

2) và cũng có thể tôi cần một sự thay thế cho:

window.history.pushState() 

mà không làm việc trong IE8 và IE9

+0

Sẽ đoán rằng 'mainForm: table_1' là phần tử'

'? Nếu vậy, hãy thử chọn một phần tử cha của bảng và thay thế toàn bộ bảng. –

+0

có bạn nói đúng, đó là một cái bàn. Tôi cố gắng làm điều đó và phần thứ hai của câu hỏi của tôi như thế nào? làm thế nào tôi có thể thêm một chuỗi vào url với một cái gì đó như pushstate làm việc với ie8 và ie9 quá? cảm ơn cho câu trả lời của bạn – OmiD

Trả lời

2

cho phần đầu của câu hỏi của bạn làm điều này:

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

và cho phần thứ hai của câu hỏi của bạn như @JITHIN PV nói bạn phải sử dụng history.js

bạn có thể dễ dàng sử dụng nó như thế này:

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

IE9 và dưới đây không hỗ trợ pushState. Đối với unsupported browsers, hãy sử dụng history API. và cũng tìm thấy một số danh sách khác của polyfills here.

+0

có bạn là đúng nó không hoạt động, nhưng không phải là bất kỳ cách nào để làm như vậy với javascript bản địa hoặc jquery? với việc sử dụng API lịch sử – OmiD

+0

@OmiD Bạn chỉ có thể ngừng hỗ trợ các trình duyệt lỗi thời/lỗi thời. Đó là thời gian chúng tôi ngừng pandering cho những người từ chối cập nhật - đặc biệt là kể từ khi làm như vậy khá nhiều yêu cầu bằng tay và cố tình (và do đó, độc hại cho chúng tôi) vô hiệu hóa Windows Update. –

Các vấn đề liên quan