2011-07-19 10 views
0

Dojo APIが私のシステム(Internet Explorer 8、IIS 7.5のWindows 7)にロードされていないようです。このようなdojo apiにリンクしてこれらの例を試そうとしますDojo/dijitスクリプト・ライブラリ・ツリービューのロード

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js"></script> 

<script type="text/javascript"> 
    dojo.require("dojo.lang.*"); 
    dojo.require("dojo.widget.Tree"); 
</script> 

私はまた、このように直接リンクするライブラリをダウンロードしました。

<script type="text/javascript" src="dojo.js">/*_*/</script> 

<script type="text/javascript"> 
    dojo.require("dojo.lang.*"); 
    dojo.require("dojo.widget.Tree"); 
</script> 

しかし、同じ結果が得られました。ライブラリスクリプトはツリービューをロードしません。 dojo libary 1.6.1のIE8、Windows 7、またはIIS 7.5に問題はありますか?

この機能を備えたツリービューについて知っていますか:MySQLデータベースのサポート、コンテキストメニュー、ノードの追加と削除、ツリーサポートのハイパーリンク?

ありがとうございました。

答えて

0

dojo.addOnLoad機能でdojo.requireコールをラップする必要があります。これは、Dojoのクロスドメイン構築を使用する場合に必要です。

は道場のAPIがロードされない以上でhttp://dojotoolkit.org/reference-guide/quickstart/cross-domain.html

dojo.addOnLoad(function() { 
    dojo.require("dojo.lang.*"); 
    dojo.require("dojo.widget.Tree"); 
}); 
+0

私はそのアップデートを行いましたが、ツリーウィジェットはまだ読み込まれません。答えの完全なHTMLファイルを参照してください。 – user823527

0

完全なHTMLファイルを参照してください。

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Tutorial: Hello Dojo!</title> 
    <!-- load Dojo --> 
    <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js"></script> 

<script type="text/javascript"> 
    dojo.addOnLoad() { 
    dojo.require("dojo.lang.*"); 
    dojo.require("dojo.widget.Tree"); 
    } 
</script> 

<script type="text/javascript"> 
var treeDat = { 
    treeNodes: [ 
     { title:"World" }, 
     { title:"Business", 
      children:[ 
       { title:"News", 
        children:[ 
         { title:"Main"}, 
         { title:"Company News" }, 
         { title:"Economy" } 
        ] 
       }, 
       { title:"Markets" }, 
       { title:"Technology" }, 
       { title:"Jobs and Economy" } 
      ] 
     }, 
     { title:"Sports" } 
    ] 
}; 
</script> 

<script type="text/javascript"> 
var TreeBuilder = { 
    buildTreeNodes:function (dataObjs, treeParentNode){ 
     for(var i=0; i<dataObjs.length;i++){ 
      var node = dojo.widget.createWidget("TreeNode",{ 
       title:dataObjs[i].title, 
       expandLevel:99, 
       widgetId:(((treeParentNode)?treeParentNode.widgetId:"root_")+"_"+i) 
      }); 
      treeParentNode.addChild(node); 
      treeParentNode.registerChild(node,i); 
      if(dataObjs[i].children){ 
       this.buildTreeNodes(dataObjs[i].children, node); 
      } 
     } 
    }, 
    buildTree:function(){ 
     var myTreeWidget = dojo.widget.createWidget("Tree",{ 
      widgetId:"myTreeWidget", 
      DNDMode:"between", 
      DNDAcceptTypes:["myTreeWidget"] 
     }); 
     this.buildTreeNodes(treeDat.treeNodes,myTreeWidget); 
     var treeContainer = document.getElementById("myWidgetContainer"); 
     var placeHolder = document.getElementById("treePlaceHolder"); 
     treeContainer.replaceChild(myTreeWidget.domNode,placeHolder); 
    } 
} 
function addTreeContextMenu(){ 
    var djWdgt = dojo.widget; 
    var ctxMenu = djWdgt.createWidget("TreeContextMenu",{}); 
    ctxMenu.addChild(djWdgt.createWidget(
     "TreeMenuItem",{caption:"Add Child Menu Item"})); 
    ctxMenu.addChild(djWdgt.createWidget(
     "TreeMenuItem",{caption:"Delete This Menu Item"})); 
    document.body.appendChild(ctxMenu.domNode); 
    var myTree = dojo.widget.manager.getWidgetById("myTreeWidget"); 
    /* Bind the context menu to the tree */ 
    ctxMenu.listenTree(myTree); 
} 

dojo.addOnLoad(function(){ 
    TreeBuilder.buildTree(); 
    addTreeContextMenu(); 
    }); 
</script> 

</head> 
<body> 
<h1>Programmatic Dojo Tree Demo</h1> 
<hr /> 

<div id="myWidgetContainer" 
    style="width: 17em; border: solid #888 1px; height:300px;"> 
    <span id="treePlaceHolder" 
     style="background-color:#F00; color:#FFF;"> 
     Loading tree widget... 
    </span> 
</div> 

</body> 
</html> 
+0

元のコードが正しくありません。関数本体を 'dojo.addOnLoad'呼び出しでラップする必要があります。私はすでにそれを修正しました。しかし、あなたのHTMLから、私はあなたが道場の非常に古いバージョンを使用しているのを見ました。 'dojo.widget'名前空間は長い間続いています。ツリーを作成する場合は、このドキュメントのリンクhttp://docs.dojocampus.org/dijit/Treeを参照してください。 –

関連する問題