代码之家  ›  专栏  ›  技术社区  ›  bmw0128

Newbie Dojo-谷歌cdn问题

  •  0
  • bmw0128  · 技术社区  · 15 年前

    我有一个测试JSP:

    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js" type="text/javascript">
    </script>
    
    <script type="text/javascript"> 
    dojo.require("dojo.widget.Tree"); 
    dojo.require("dojo.widget.TreeSelector"); 
    dojo.require("dojo.widget.TreeNode"); 
    dojo.require("dojo.widget.TreeContextMenu"); 
    </script> 
    </head>
    
    <body>
    <div dojoType="TreeSelector" widgetId="treeSelector"></div> 
    <div dojoType="Tree" widgetId="treeWidget" selector="treeSelector"toggler="wipe"> 
    <div dojoType="TreeNode" widgetId="1" title="First node" isFolder="false"></div> 
    <div dojoType="TreeNode" widgetId="2" title="Second node"> 
        <div dojoType="TreeNode" widgetId="2.1" title="Second node First Child"></div> 
        <div dojoType="TreeNode" widgetId="2.2" title="Second node Second Child"></div> 
    </div> 
    <div dojoType="TreeNode" widgetId="3" title="Third node" isFolder="false"></div> 
    </div>
    

    这在任何浏览器中都不起作用。 我认为这很容易,似乎没有下载/找到Dojo库? 我还需要做什么吗?

    另外,我的IDE JDeveloper报告在element div中没有定义属性“dojotype”。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Ken Franqueiro    15 年前

    我不得不说,这个例子看起来是从 非常 老版本的Dojo,但是你想用它来对付Dojo1.5。那很可能行不通。 dojo.widget 从…0.4,0.9开始就不存在了。

    你对之前的回答的评论可能是对的 parseOnLoad: true 在最初的示例中是必需的,但我也要向您保证,该示例没有运行任何版本的Dojo,任何地方都没有运行它。

    根据你在那里看到的情况,你可能想从这里开始: http://www.dojotoolkit.org/reference-guide/dijit/Tree.html

        2
  •  1
  •   Mara Morton    15 年前

    我不确定默认行为是什么,但您可能需要定义一个将parseOnLoad设置为true的djconfig(或者直接调用解析器)。有关详细信息,请参阅以下链接:

    http://docs.dojocampus.org/djConfig

    http://dojocampus.org/content/2008/03/08/the-dojo-parser/

        3
  •  0
  •   haylem    15 年前

    遵循:

    你需要:

    • register for an API key (或者像你那样使用直接链接)
    • 如果不使用直接链接,但 google.load ,您需要使用onload回调推迟代码的执行。

    亲自 我只想做如下的事情:

    <head> 截面 My.HTML :

    <script type="text/javascript" src="http://www.google.com/jsapi?key=MY_API_KEY_GOES_HERE"></script>
    <script type="text/javascript" src="my.js"></script>
    

    在里面 J.J. :

    google.load("dojo", "1.5", {
      uncompressed: true
    });
    
    function OnLoad() {
      /* do stuff here */
    }
    
    google.setOnLoadCallback(OnLoad);