2017-03-27 18 views
0

我正在學習Dojo Toolkit並遇到有關dojo/domReady!的有線問題。我有一個工作示例如下:有線dojo/domReady!行爲

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>Tutorial: Hello Dojo!</title> 
 
    <!-- load Dojo --> 
 
    <script> 
 
     var dojoConfig = { 
 
      async: true, 
 
     }; 
 
    </script> 
 
    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.12.1/dojo/dojo.js"></script> 
 
</head> 
 
<body> 
 
    <script> 
 
     require([ 
 
      'dojo/dom', 
 
      'dojo/dom-construct', 
 
      'dojo/domReady!' 
 
     ], function (dom, domConstruct) { 
 
      var greetingNode = dom.byId('greeting'); 
 
      domConstruct.place('<em> Dojo!</em>', greetingNode); 
 
     }); 
 
    </script> 
 
    <!-- <script src="./script.js"></script> --> 
 
    <h1 id="greeting">Hello</h1> 
 
</body> 
 
</html>

但是,如果我<h1 id...</h1>之前的JavaScript代碼轉移到外部文件和源也將無法正常工作。 (這就是這麼奇怪,該代碼在StackOverflow上在頁面HTML編輯器中工作!)

require([ 
 
    'dojo/dom', 
 
    'dojo/dom-construct', 
 
    'dojo/domReady!' 
 
], function (dom, domConstruct) { 
 
    var greetingNode = dom.byId('greeting'); 
 
    domConstruct.place('<em> Dojo!</em>', greetingNode); 
 
});
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>Tutorial: Hello Dojo!</title> 
 
    <!-- load Dojo --> 
 
    <script> 
 
     var dojoConfig = { 
 
      async: true, 
 
     }; 
 
    </script> 
 
    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.12.1/dojo/dojo.js"></script> 
 
</head> 
 
<body> 
 
    <script src="./script.js"></script> <!-- this position is not OK in my local machine--> 
 
    <h1 id="greeting">Hello</h1> 
 
    <!-- <script src="./script.js"></script> --> <!-- this position is OK--> 
 
</body> 
 
</html>

但它實際上並沒有在我的本地計算機上工作,見截圖: enter image description here任何人都可以幫助我呢?提前致謝!返回前

<script> 
    require([ 
     'dojo/dom', 
     'dojo/dom-construct', 
     'dojo/domReady!' 
    ], function (dom, domConstruct) { 
     var greetingNode = dom.byId('greeting'); 
     domConstruct.place('<em> Dojo!</em>', greetingNode); 
    }); 
</script> 

剛過

<script> 
     var dojoConfig = { 
      async: true, 
     }; 
    </script> 

基本上dojo/domReady!會等到DOM完成加載和國際海事組織是不是:

+2

我複製/粘貼你的兩個文件逐字,並在Apache網絡服務器上運行。你的例子適用於我。也許你遇到了緩存問題?什麼版本的Chrome? – user2867288

+0

是的。我確認這是一個緩存問題。在Chrome中禁用緩存後,它工作正常。 –

回答

0

你應該將下面的代碼在你的頭上HTML文件設計用於你的問題中描述的方式。