読み込んだXMLのデータをもとにjsを実行する



動作ブラウザ

winmaclinux
n7m1e5e6o7 n7m1e5s1 n7m1k3
×× ×× ×
ソース


【jsdata.xml】
<script> a=3 alert(a) </script>
【loadjs.htm】
<script type="text/javascript"> <!-- /*========================================================== //クロスブラウザ load関数 引数 : url XMLファイルのurl func 読み込み成功時の起動関数名 戻値 : 読み込まれたXMLノードツリー 例 : loadFile( 'data.xml', func1 ) function func1(){alert('test')} Support http://game.gr.jp/js/ */ function loadFile(url,func) { if (window.ActiveXObject) { var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async = false if(xmlDoc.load(url)){func(xmlDoc)} } else if ( document.implementation && document.implementation.createDocument ) { var xmlDoc = document.implementation.createDocument("","",null) xmlDoc.onload = function (){func(xmlDoc)} xmlDoc.load(url) } return xmlDoc } //読み込んだXMLのデータをもとにjsを実行する function doJs(xdoc) { //XML内の"script"という名前のタグの配列を作る var wknode = xdoc.getElementsByTagName("script") //scriptを読み込む var scrStr = wknode[0].firstChild.nodeValue + ';' //実行する eval(scrStr) } //--> </script> <input type = "button" value = "XML読み込み" onclick= "loadFile('jsdata.xml',doJs)">