欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript load Page,load css,load js實(shí)現(xiàn)代碼

 更新時(shí)間:2010年03月31日 23:15:48   作者:  
通過js動(dòng)態(tài)載入頁面和css或js的實(shí)現(xiàn)代碼,需要的朋友可以參考下。國外人寫的,可以參考下。
復(fù)制代碼 代碼如下:

/***********************************************
* Ajax Page Fetcher- by JavaScript Kit (www.javascriptkit.com)
***********************************************/
var ajaxpagefetcher={
loadingmessage: "Loading Page, please wait...",
exfilesadded: "",

connect:function(containerid, pageurl, bustcache, jsfiles, cssfiles){
var page_request = false
var bustcacheparameter=""
if (window.XMLHttpRequest) // if Mozilla, IE7, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE6 or below
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
var ajaxfriendlyurl=pageurl.replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
page_request.onreadystatechange=function(){ajaxpagefetcher.loadpage(page_request, containerid, pageurl, jsfiles, cssfiles)}
if (bustcache) //if bust caching of external page
bustcacheparameter=(ajaxfriendlyurl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
document.getElementById(containerid).innerHTML=ajaxpagefetcher.loadingmessage //Display "fetching page message"
page_request.open('GET', ajaxfriendlyurl+bustcacheparameter, true)
page_request.send(null)
},

loadpage:function(page_request, containerid, 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) //invoke custom "onpageload" event
}
},

createjscssfile:function(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
return fileref
},

loadjscssfile:function(filename, filetype){ //load or replace (if already exists) external .js and .css files
if (this.exfilesadded.indexOf("["+filename+"]")==-1){ //if desired file to load hasnt already been loaded
var newelement=this.createjscssfile(filename, filetype)
document.getElementsByTagName("head")[0].appendChild(newelement)
this.exfilesadded+="["+filename+"]" //remember this file as being added
}
else{ //if file has been loaded already (replace/ refresh it)
var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist using
var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
var allsuspects=document.getElementsByTagName(targetelement)
for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
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) //call customize onpageload() function when an ajax page is fetched/ loaded
},

onpageload:function(pageurl){
//do nothing by default
},

load:function(containerid, pageurl, bustcache, jsfiles, cssfiles){
var jsfiles=(typeof jsfiles=="undefined" || jsfiles=="")? [] : jsfiles
var cssfiles=(typeof cssfiles=="undefined" || cssfiles=="")? [] : cssfiles
this.connect(containerid, pageurl, bustcache, jsfiles, cssfiles)
}

} //End object

//Sample usage:
//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"])

相關(guān)文章

  • JavaScript函數(shù)中的防抖與節(jié)流原生實(shí)現(xiàn)及第三方庫的使用

    JavaScript函數(shù)中的防抖與節(jié)流原生實(shí)現(xiàn)及第三方庫的使用

    當(dāng)你頻繁的觸發(fā)用戶界面時(shí),會(huì)不停的觸發(fā)事件處理函數(shù),可能導(dǎo)致界面卡頓,瀏覽器奔潰,頁面空白等情況,而解決這一問題的,正是函數(shù)節(jié)流與函數(shù)防抖,所以本文將給大家介紹一下JavaScript函數(shù)中的防抖與節(jié)流原生實(shí)現(xiàn)及第三方庫的使用,需要的朋友可以參考下
    2023-10-10
  • 基于JS模仿windows文件按名稱排序效果

    基于JS模仿windows文件按名稱排序效果

    這篇文章主要介紹了基于JS實(shí)現(xiàn)模仿windows文件按名稱排序的相關(guān)資料,主要是對(duì)數(shù)字的處理操作,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • JavaScript Scoping and Hoisting 翻譯

    JavaScript Scoping and Hoisting 翻譯

    希望這篇文章能夠給JavaScript程序員最容易困惑的部分一些啟示。我盡力寫的全面,以免引起更多的困惑。如果我寫錯(cuò)了或是漏掉了某些重要的東西,請(qǐng)一定讓我知道
    2012-07-07
  • 舉例講解JavaScript substring()的使用方法

    舉例講解JavaScript substring()的使用方法

    這篇文章主要通過舉例的方法講解了javaScript substring()的用法,substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符,感興趣的小伙伴們可以參考一下
    2015-11-11
  • javascript鍵盤上下鍵的操作(選擇)

    javascript鍵盤上下鍵的操作(選擇)

    不錯(cuò)的使用鍵盤上下鍵實(shí)現(xiàn)選擇的代碼,方便用戶操作
    2008-06-06
  • js中的json對(duì)象詳細(xì)介紹

    js中的json對(duì)象詳細(xì)介紹

    JSON一種簡單的數(shù)據(jù)格式,比xml更輕巧,在JavaScript中處理JSON數(shù)據(jù)不需要任何特殊的API或工具包,下面為大家詳細(xì)介紹下js中的json對(duì)象
    2014-10-10
  • html文本框提示效果的示例代碼

    html文本框提示效果的示例代碼

    在html文本框中顯示提示效果,以方便用戶的輸入,比如在輸入姓名時(shí),會(huì)自動(dòng)提示 姓名長度最多16個(gè)字符,是不是很酷哦??靵砜纯窗?/div> 2014-06-06
  • JS實(shí)現(xiàn)刷新父頁面不彈出提示框的方法

    JS實(shí)現(xiàn)刷新父頁面不彈出提示框的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)刷新父頁面不彈出提示框的方法,實(shí)例分析了javascript子窗口的打開以及子窗口與父窗口的交互操作技巧,需要的朋友可以參考下
    2016-06-06
  • 小程序?qū)崿F(xiàn)發(fā)表評(píng)論功能

    小程序?qū)崿F(xiàn)發(fā)表評(píng)論功能

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)發(fā)表評(píng)論功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • javascript實(shí)現(xiàn)的左右無縫滾動(dòng)效果

    javascript實(shí)現(xiàn)的左右無縫滾動(dòng)效果

    這篇文章主要介紹了javascript實(shí)現(xiàn)的左右無縫滾動(dòng)效果,可實(shí)現(xiàn)左右平滑無縫滾動(dòng)的效果,并且可響應(yīng)鼠標(biāo)滑過而停止?jié)L動(dòng),非常簡便實(shí)用,需要的朋友可以參考下
    2016-09-09

最新評(píng)論