#navi(../)
# &tooltip(CDN){Contents Delivery Network};サービス利用時の注意
dojoは、古くから[AOL CDN](http://dev.aol.com/dojo)でスクリプトの提供を行っていたり、最近では、[Google Codes](http://code.google.com/intl/ja/)でもスクリプトが提供が行われるようになってきたが、独自のスクリプトを挿入する場合は注意が必要である。

普通にdojoを呼び出すように、以下のようにdojo.jsを呼び出す場合は、基本的に問題ない。
```
<script type="text/javascript" src="http://o.aolcdn.com/dojo/1.2.0/dojo/dojo.xd.js" djConfig="debug:true"></script>
```

しかし、Google AJAX Language APIの場合、
#code(html)
script type="text/javascript" src="http://www.google.com/jsapi"></script>
script type="text/javascript">
<!--<![CDATA[-->
google.load("dojo", "1.2.3");
<!--]]></script>-->
}}
のように呼び出すことになる。この場合、dojoの基本的なAPIは利用可能になるが、たとえばデバッグ画面出したい場合などに問題になる。というのは、この方法では、前者のdjConfigを指定できないためである。dojoの初期設定を行う場合は以下のようにgoogle.load("dojo", "1.2.0");の直前にdjConfigを指定する。

#code(javascript)
djConfig = {
```
	parseOnLoad: true,
	isDebug: true, 
	preventBackButtonFix:false, 
	baseUrl: './',
	modulePaths:{'lorelei': '/js/lorelei'}
```
};
google.load("dojo", "1.2.3");
}}

ここでは、[Lorelei](http://mabinogi.logue.be/)のdojo.requireで呼び出すLioreleiモジュールを呼び出すための指定をしている。このように、diConfigはgoogle.loadよりも前に置き、独自のモジュールスクリプトを呼び出すときには、baseUrl: './',を追記しなければならない。

# まとめ
厳密に言うと、こんな感じになる
#code(html)
script type="text/javascript" src="http://www.google.com/jsapi"></script>
script type="text/javascript">
<!--<![CDATA[-->
djConfig = {
```
	parseOnLoad: true,
	isDebug: true, 	preventBackButtonFix:false, 
	baseUrl: './',
	modulePaths:{'lorelei': '/js/lorelei'}
```
};
google.load("dojo", "1.2.3");
<!--]]></script>-->
link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.2.3/dijit/themes/tundra/tundra.css" />
link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.2.3/dojo/resources/dojo.css" />
・・・略
/head>
body class="tundra">
}}

ご存じの方も多いと思うが、dijitやdojoxなどのUI昨日を用いる場合、このclass="tundra"と、スタイルシートのhttp://ajax.googleapis.com/ajax/libs/dojo/1.2.3/dijit/themes/tundra/tundra.cssのtundraという部分は対応している。必ず両方指定すること。

テーマは、tundraのほかにsoria、Loreleiでも使っているnihiloが選べる。dijitと、一部のdojoxを使わない場合（UI拡張を行わない場合）はスタイルシートの読み込みは不要。


---

## Page Navigation

- Canonical URL: https://logue.be/dojo/CDN利用時の注意
- Permalink: https://logue.be/66d5d8d74b8138004c26ff83
- Parent: [dojo](/66d5d8d54b8138004c26ff81.md)
- Children: 0 total
- Total descendants: 0
- Siblings: 0 total
- Last updated: 2024-09-02T17:03:33.165Z by 
- Full page listing (all children regardless of count): https://logue.be/_api/v3/page-listing/children?id=66d5d8d74b8138004c26ff83
