2009-04-16 2 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 
관련 문제