Javascript 로드 페이지, CSS 로드, JS 구현 로드_javascript 기술
May 16, 2016 pm 06:30 PM
js
复제대码 代码如下:
/***********************************************
* 아약스 페이지 가져오기 프로그램 - JavaScript Kit 제공(www.javascriptkit.com)
********************************** *************/
var ajaxpagefetcher={
loadingmessage: "페이지 로드 중입니다. 잠시 기다려 주십시오...",
exfilesadd: "",
connect:function(containerid, pageurl, Bustcache, jsfiles, cssfiles){
var page_request = false
var Bustcacheparameter=""
if (window.XMLHttpRequest) // if Mozilla, IE7, Safari 등
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // IE6 이하인 경우
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch(e){
try{
page_request = new ActiveXObject("Microsoft .XMLHTTP")
}
catch(e){}
}
}
else
false 반환
var ajaxfriendurl=pageurl.replace(/^http:// [^/] //i, "http://" window.location.hostname "/")
page_request.onreadystatechange=function(){ajaxpagefetcher.loadpage(page_request, Containerid, pageurl, jsfiles, cssfiles)}
if (bustcache) //외부 페이지의 버스트 캐싱
bustcacheparameter=(ajaxfriendurl.indexOf("?")!=-1)? "&" new Date().getTime() : "?" new Date().getTime()
document.getElementById(containerid).innerHTML=ajaxpagefetcher.loadingmessage //"페이지 메시지 가져오기" 표시
page_request.open('GET', ajaxfriendurl Bustcacheparameter, true)
page_request.send(null)
},
loadpage:function(page_request, 컨테이너 ID, pageurl, jsfiles, cssfiles){
if (page_request.readyState == 4 && (page_request.status== 200 || window.location.href.indexOf("http")==-1)){
document.getElementById(containerid).innerHTML=page_request.responseText
for (var i=0; i<jsfiles .length; i )
this.loadjscssfile(jsfiles[i], "js")
for (var i=0; i<cssfiles.length; i )
this.loadjscssfile(cssfiles[i] , "css")
this.pageloadaction(pageurl) //사용자 정의 "onpageload" 이벤트 호출
}
},
createjscssfile:function(filename, filetype){
if (filetype=="js"){ //파일 이름이 외부 JavaScript 파일인 경우
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //파일 이름이 외부 CSS 파일인 경우
var fileref=document.createElement(" link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
return fileref
},
loadjscssfile:function(filename, filetype){ //외부 .js 및 .css 파일 로드 또는 교체(이미 존재하는 경우)
if(이것은 .exfilesadd.indexOf("[" filename "]")==-1){ //로드하려는 파일이 이미 로드되지 않은 경우
var newelement=this.createjscssfile(filename, filetype)
document.getElementsByTagName ("head")[0].appendChild(newelement)
this.exfiles added ="[" filename "]" //이 파일이 추가된 것으로 기억
}
else{ //파일이 추가된 경우 이미 로드됨(교체/새로 고침)
var targetelement=(filetype=="js")? "스크립트": (filetype=="css")? "link" : "none" //
var targetattr=(filetype=="js")?를 사용하여 nodelist를 생성할 요소 유형을 결정합니다. "src": (파일 유형=="css")? "href" : "none" //테스트할 해당 속성 결정
var allsuspects=document.getElementsByTagName(targetelement)
for (var i=allsuspects.length; i>=0; i--){ / /노드 목록 내에서 뒤로 검색하여 제거할 요소 일치
if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=- 1){
var newelement=this.createjscssfile(filename, filetype)
allsuspects[i].parentNode.replaceChild(newelement, allsuspects[i])
}
}
}
},
pageloadaction:function(pageurl){
this.onpageload(pageurl) //ajax 페이지를 가져오거나 로드할 때 사용자 정의 onpageload() 함수 호출
},
onpageload:function(pageurl){
//기본적으로 아무것도 하지 않음
},
load:function(containerid, pageurl, Bustcache, jsfiles, cssfiles){
var jsfiles=(typeof jsfiles=="정의되지 않음" || jsfiles=="")? [] : jsfiles
var cssfiles=(typeof cssfiles=="정의되지 않음" || cssfiles=="")? [] : cssfiles
this.connect(containerid, pageurl, Bustcache, jsfiles, cssfiles)
}
} //객체 종료
//샘플 사용법:
//1) ajaxpagefetcher.load("mydiv", "content.htm", true)
//2) ajaxpagefetcher.load("mydiv2", "content.htm", true, ["external.js"] )
//3) ajaxpagefetcher.load("mydiv2", "content.htm", true, ["external.js"], ["external.css"])
//4) ajaxpagefetcher.load ("mydiv2", "content.htm", true, ["external.js", "external2.js"])
//5) ajaxpagefetcher.load("mydiv2", "content.htm", true, "", ["external.css", "external2.css"])
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
Repo : 팀원을 부활시키는 방법
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 파일 저장 위치 : 어디에 있고 그것을 보호하는 방법은 무엇입니까?
3 몇 주 전
By DDD

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
Repo : 팀원을 부활시키는 방법
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 파일 저장 위치 : 어디에 있고 그것을 보호하는 방법은 무엇입니까?
3 몇 주 전
By DDD

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7312
9


자바 튜토리얼
1624
14


Cakephp 튜토리얼
1347
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1207
29



JS 및 Baidu Maps를 사용하여 지도 이동 기능을 구현하는 방법

주식 분석을 위한 필수 도구: PHP 및 JS를 사용하여 캔들 차트를 그리는 단계를 알아보세요.

JS 및 Baidu Maps를 사용하여 지도 다각형 그리기 기능을 구현하는 방법

JS 및 Baidu Maps를 사용하여 지도 히트맵 기능을 구현하는 방법

JS와 Baidu Map을 활용하여 지도 클릭 이벤트 처리 기능을 구현하는 방법
