2011-05-07 102 views
0

我想在我的test.html中動態添加外部JavaScript或CSS文件。 我知道這一招:在java web應用程序中動態添加外部JavaScript或CSS文件

$(」).appendTo(‘head’).attr({ 

rel: ‘stylesheet’, 

type: ‘text/css’, 

href: ‘**htttp://192.168.30.229:8080/**javascripts/jwysiwyg/jquery.wysiwyg.css’ 

}); 

我要救CSS和JavaScript上例如web.xml中的XML文件的URL(http://192.168.30.229:8080/),並閱讀從web.xml文件的URL,並追加到HREF 所以如果URL已變更爲例如 **:HTTP://192.168.100.229:7071/在html代碼has'nt到被改變。

我該如何在xml文件中寫入/讀取該url並在test.html中使用它?

回答

0
  1. 您可以使用JavaScript在HTML頁面加載外部JavaScript或CSS:http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml

  2. 您需要以改變它的一部分動態生成HTML。你可以爲此使用JSP。在你的web.xml定義<context-param,然後引用它在JSP頁面:

    <context-param> 
        <param-name>someUrl</param-name> 
        <param-value>http://192.168.1.1:8080/something</param-value> 
    </context-param> 
    

,然後引用它在JSP:

<%= getServletContext().getInitParamter("someUrl") %> 
0
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語句中首先檢查allsuspects [i])。現在,要刪除標識的元素,將調用DOM方法parentNode.removeChild()

相關問題