在使用Ajax異步加載頁面內(nèi)容的時候,我們常常會遇到一個很讓人頭疼的問題,那就是在刷新頁面之后,頁面的 CSS 樣式全部丟失了。
造成這個問題的原因是:AJAX 異步加載的頁面并不會重新加載整個 HTML 頁面,而僅僅只是局部更新其中某個部分,因此它只會加載該部分的 HTML 內(nèi)容,而并不會重新加載整個頁面的 CSS 樣式。
為了解決這個問題,我們需要采取一些特殊的措施,一個常用的解決辦法就是,利用 JavaScript 在局部加載之后,重新插入 CSS 文件。
function loadContent() { $.ajax({ url: 'content.html', dataType: 'html', success: function(response) { $('#content').html(response); var style = $(''); style.attr('href', 'style.css'); $('head').append(style); } }); }
在以上代碼中,我們首先通過 AJAX 從服務(wù)器端加載 content.html 文件的內(nèi)容,并將其插入到頁面中 ID 為 content 的容器中。然后,我們創(chuàng)建一個新的樣式表,并在其 href 屬性中指定我們的 CSS 文件路徑。最后,我們將這個樣式表插入到頁面的 head 標(biāo)簽中,這樣就重新加載了我們需要的 CSS 文件。