我想动态地在我的JavaScript中添加一个外部test.html或CSS文件。我知道这个把戏:
$(”).appendTo(‘head’).attr({
rel: ‘stylesheet’,
type: ‘text/css’,
href: ‘**htttp://192.168.30.229:8080/**javascripts/jwysiwyg/jquery.wysiwyg.css’
});我希望将css的url(http://192.168.30.229:8080/)和javascript保存在xml文件(例如web.xml )上,并从web.xml文件中读取url并将其附加到href 中,以便如果url必须更改(例如 **http://192.168.100.229:7071/ ),则html中的代码不会被更改。
我应该如何在xml文件中写入/读取该url并在test.html中使用它?
发布于 2011-05-07 18:31:20
可以在html页面中使用javascript加载外部javascript或css:http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
<context-param中定义web.xml,然后在JSP页面中引用它:someUrl http://192.168.1.1:8080/something
然后在JSP中引用它:
<%= getServletContext().getInitParamter("someUrl") %> 发布于 2016-07-28 10:02:31
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该函数首先从页面上所有"SCRIPT“或"LINK”元素中创建一个集合,具体取决于要删除的文件类型。要查看的相应属性也相应更改("src“或"href”属性)。然后,函数开始向后循环遍历所收集的元素,以查看其中是否有与应该删除的文件名称匹配的元素。反方向是有原因的--如果/每当一个已识别的元素被删除时,集合每次都会折叠一个元素,如果要继续正确地循环新集合,倒转方向就会起作用(它可能会遇到未定义的元素,因此在if语句中第一次检查allsuspectsi )。现在,要删除已标识的元素,将对其调用DOM方法parentNode.removeChild()。
https://stackoverflow.com/questions/5923104
复制相似问题