tablas - ¿Cómo puedo descargar dinámicamente un archivo javascript?
que es javascript pdf (4)
Incluyo páginas utilizando Ajax, pero también debo incluir sus respectivos archivos javascript, lo que requiere eliminar los archivos javascript anteriores de la memoria al mismo tiempo.
¿Cómo puedo descargar los archivos javascript cargados actualmente (así como su código en la memoria) para poder cargar los archivos de la nueva página? Lo más probable es que entren en conflicto, por lo que se cargarán múltiples archivos javascript de archivos independientes.
En realidad eso es bastante posible. Puede reemplazar un script o elemento de enlace.
function createjscssfile(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
}
function replacejscssfile(oldfilename, newfilename, filetype){
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(oldfilename)!=-1){
var newelement=createjscssfile(newfilename, filetype)
allsuspects[i].parentNode.replaceChild(newelement, allsuspects[i])
}
}
}
debe completar los parámetros de nombre de archivo como atributo src y tipo de archivo como "js" o "css"
Creo que no hay necesidad de explicar el código. También has publicado en 2009 pero hey. Tal vez alguien lo necesitará ¿verdad? :)
Todo el crédito va a: http://www.javascriptkit.com/javatutors/loadjavascriptcss2.shtml
Puedes aprender algunos trucos por cierto.
Esto realmente suena como que necesitas reevaluar tu diseño. O necesita eliminar ajax o no tener colisiones en sus nombres de método.
Puede revisar este enlace: http://www.javascriptkit.com/javatutors/loadjavascriptcss2.shtml
Lo que da información sobre cómo eliminar el javascript del DOM. Sin embargo, los navegadores modernos dejarán el código en la memoria del navegador.
No, no puedes hacer eso. Una vez que un bloque de JavaScript se carga en el navegador y se ejecuta, se almacena en la memoria del navegador en el ámbito de la ventana correspondiente. No hay absolutamente ninguna forma de descargarlo (sin actualizar la página / cerrar la ventana).
puedes simplemente poner un espacio de nombre a tu código ... de esa manera evitas colisiones
var MyJavaScriptCode = {};
MyJavaScriptCode.bla = function () {};