Kiểm tra this, this và this
Từ liên kết hàng đầu, để tự động thêm js hoặc css:
function loadjscssfile(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)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
Ngoài ra, để tự động loại bỏ js hoặc css:
function removejscssfile(filename, filetype){
var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from
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)
allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
}
}
removejscssfile("somescript.js", "js") //remove all occurences of "somescript.js" on page
removejscssfile("somestyle.css", "css") //remove all occurences "somestyle.css" on page
Nhưng lưu ý về việc xóa:
Vậy điều gì thực sự xảy ra khi bạn xóa tệp JavaScript hoặc CSS bên ngoài? Có lẽ không hoàn toàn là những gì bạn mong đợi thực sự. Trong trường hợp JavaScript trong khi phần tử được xóa khỏi tài liệu cây, bất kỳ mã nào được tải như một phần của tệp JavaScript bên ngoài vẫn là trong bộ nhớ của trình duyệt. Đó là để nói, bạn vẫn có thể truy cập vào biến, chức năng vv đã được thêm vào khi tập tin bên ngoài đầu tiên nạp
Nguồn
2012-02-24 05:39:34
Cảm ơn Mikey Thực ra tôi đã làm như vậy bởi jQuery và nó hoạt động tốt, nhưng tôi đã kiểm tra nó trong firebug nó không hiển thị thẻ script đó là lý do tại sao tôi đã nhầm lẫn. Nhưng chức năng của nó hoạt động như mong đợi :) Cảm ơn một lần nữa – Tarun