2009-04-16 61 views
0

我的AJAX調用沒有應用我的樣式。我的樣式不在頁面的< HEAD>部分,它們僅在初始Page_Load中由IE識別。IE 7中Ajax調用後CSS樣式消失

如果您知道解決此問題的其他方法,請將它們發佈到此處。

這是更多的參考,希望這可以幫助一些人。

回答

0

您也可以從AJAX HTML獲取樣式,並將其插入頭部。以下是一些示例代碼。測試IE8和Chrome。

function enable_embedded_styles(html) { 
// Grab style content, and create new style element for it 
// Works for first set of <style></style> tags in html 
// Tested in IE and Chrome 
    if (typeof(html) === 'string') { 
     var beg = html.indexOf('<style>'), 
      end = html.indexOf('</style>'); 

     if (beg !== -1 && end !== -1) { 
      var style = html.substr(beg + 7, end - 7 - beg); // everything between style tags 
      html = html.substr(end + 8); // everything after closing style tag 

      s = document.createElement('style'); 
      s.setAttribute('type','text/css'); 

      // For IE 
      if (s.styleSheet) { 
       s.styleSheet.cssText = style; 
      } // endif 

      // For every other browser 
      else { 
       s.appendChild(document.createTextNode(style)); 
      } // endelse 

      // Append stylesheet to head 
      document.getElementsByTagName('head')[0].appendChild(s); 
     } // endif 
    } // endif 

    return html; 
} // endfunction