이 글에서는 네이티브 JS가 JS 및 CSS 파일과 코드 스크립트를 동적으로 로드하는 방법을 소개합니다. 필요한 경우 이를 참조할 수 있습니다.
uninitialized
: 초기 상태uninitialized
:初始状态
loading
:document加载中
loaded
: document加载完成
interactive
:已加载并可与用户交互,但还需要加载图片等其他资源
complete
loading
: 문서가 로드 중입니다 로드됨
: 문서가 로드되었습니다 interactive
: 문서가 로드되어 사용자와 상호 작용할 수 있지만 이미지와 같은 다른 리소스를 로드해야 합니다완료
: 모든 리소스가 로드됩니다.
DOM 트리 빌드 완료(readyState: 대화형)
var DynamciLoadUtil = { // 动态加载外部js文件,并执行回调 loadJS: function(url, callback){ var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; if(typeof callback == 'function'){ script.onload = script.onreadystatechange = function(){ if(!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete'){ callback(); script.onload = script.onreadystatechange = null; } } } document.body.appendChild(script); //document.getElementsByTagName('body')[0].appendChild(script); }, // 行内方式动态加载js代码 loadJSText: function(jsText){ var script = document.createElement('script'); script.type = 'text/javascript'; try { // Firefox,Safari,Chrome,Opera支持 script.appendChild(document.createTextNode(jsText)); } catch(ex){ // IE早期的浏览器,需要使用script的text属性来指定js代码 script.text = jsText; } document.body.appendChild(script); }, // 动态加载外部CSS文件 loadCSS:function(url){ var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.url = url; document.getElementsByTagName('head')[0].appendChild(link); }, // 使用<style>标签包含嵌入式CSS loadCSSText: function(cssText){ var style = document.createElement('style'); style.type = 'text/css'; try{ // Firefox,Safari,Chrome,Opera支持 style.appendChild(document.createTextNode(cssText)); } catch(ex){ // IE早期浏览器,需要使用style元素的styleSheet属性的cssText属性 style.styleSheet.cssText = cssText; } } }
위 내용은 네이티브 JS가 JS 및 CSS 파일과 코드 스크립트를 동적으로 로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!