• ベストアンサー

Dojo を知っている方...

dojo.widget の部品をローカルで(HTAなどで)使いたいのですが、無理でしょうか。Dojo は非同期通信で JavaScript ファイルを読み込んでいるらしい(のかな?)ので、そのまま DL しても使えないのですが、どうにかなりませんか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

今、IE7をダウンロードして見てみたのですが、やっぱり見られませんね。 エラーは出ないのですが、何にも表示されません。 dojo > tests > widget > test_Button.html のほうは動いてました。(一部?) dojoがまだIE7に対応していないのかもしれませんね。 どうしてもIE7じゃないと、となるとどうしたらいいかわかりません…。 結局、お役に立てず申し訳ありません。

KanjiTalk
質問者

お礼

いえいえ、ありがとうございます。 dojo > Support > Forum にも質問してみましたが、 やはりセキュリティ上の問題だそうです。 IE6 でも試してみます。本当にありがとうございました。

KanjiTalk
質問者

補足

IE6で見たところすんなり動きました!! やはりIE7には対応していないんですね...。

その他の回答 (3)

回答No.3

もしかして、ファイル名をそのままで使っていませんか? 解凍したファイルは名前をdojo-0.4.2-ajaxではなくて、dojoに変えてから使います。 もし、見当違いでしたら申し訳ありません。 私の環境では問題なく見れているので。

KanjiTalk
質問者

補足

はい、もちろん変えています。 エラーはdojo.jsが出しているようです。 私の試した環境は… 1.Windows XP IE7で 2.DLしたzipを右クリ→「すべて展開」で解凍 3.Dojoとテスト用のHTMLを両方ローカルゾーンに置く みたいな感じです。 dojo > tests > widget > test_Button.html なども問題なく表示されますか?

回答No.2

そうですね。 自分のパソコンに保存したものをプレビューしたら見れたので、そういうことになります。 ブラウザはIE6.0,Firefox2.0,Opera9.1で確認できています。 (が、IE以外では純粋なグラフ以外の項目名などは表示されません。) 以下、ソースになります。 <html> <head> <title>Dojo test page2</title> <script src="dojo/dojo.js"></script> <script> dojo.require("dojo.collections.Store"); dojo.require("dojo.charting.Chart"); dojo.require('dojo.json'); dojo.addOnLoad(function(){ var data1 = new dojo.collections.Store(); data1.setData ([ { x:0, y:0 }, { x:3, y:7 }, { x:5, y:16 }, { x:7, y:16 }, { x:10, y:24 }, { x:15, y:24 }, { x:18, y:30 }, { x:21, y:42 } ]); var data2 = new dojo.collections.Store(); data2.setData ([ { x:21, y:42, size:10 }, { x:22, y:55, size:1 }, { x:23, y:68, size:5 }, { x:24, y:65, size:15 } ]); var data3 = new dojo.collections.Store(); data3.setData ([ { x:0, y:0 }, { x:1, y:1 }, { x:2, y:2 }, { x:3, y:5 }, { x:4, y:10 }, { x:5, y:8 }, { x:6, y:9 }, { x:7, y:9 }, { x:8, y:8 }, { x:9, y:12 }, { x:10, y:9 }, { x:11, y:7 }, { x:12, y:6 }, { x:13, y:5 }, { x:14, y:5 }, { x:15, y:6 }, { x:16, y:6 }, { x:17, y:11 }, { x:18, y:12 }, { x:19, y:20 }, { x:20, y:28 }, { x:21, y:30 }, { x:22, y:40 }, { x:23, y:60 }, { x:23, y:60 }, { x:24, y:48 }, { x:24, y:48 }, { x:24, y:48 } ]); var l1 = new dojo.charting.Series({ dataSource:data1, bindings:{ x:"x", y:"y" }, label: "Line 1" }); var l2 = new dojo.charting.Series({ dataSource:data2, bindings:{ x:"x", y:"y" }, label: "Line 2" }); var b1 = new dojo.charting.Series({ dataSource:data3, bindings:{ x:"x", y:"y" }, label: "DataBar 1" }); var xA = new dojo.charting.Axis(); xA.range = { upper:25, lower:0 }; xA.origin = "max"; xA.showTicks = true; xA.labels = [ { label:"0", value:0 }, { label:"1", value:1 }, { label:"2", value:2 }, { label:"3", value:3 }, { label:"4", value:4 }, { label:"5", value:5 }, { label:"6", value:6 }, { label:"7", value:7 }, { label:"8", value:8 }, { label:"9", value:9 }, { label:"10", value:10 }, { label:"11", value:11 }, { label:"12", value:12 }, { label:"13", value:13 }, { label:"14", value:14 }, { label:"15", value:15 }, { label:"16", value:16 }, { label:"17", value:17 }, { label:"18", value:18 }, { label:"19", value:19 }, { label:"20", value:20 }, { label:"21", value:21 }, { label:"22", value:22 }, { label:"23", value:23 }, { label:"24", value:24 } ]; var yA = new dojo.charting.Axis(); yA.range = { upper:80, lower:0 }; yA.origin = "min"; yA.showTicks = true; yA.showLines = true; yA.labels = [ { label:"1", value:13.5 }, { label:"2", value:26.5 }, { label:"3", value:40 }, { label:"4", value:53.5 }, { label:"5", value:66.5 }, { label:"6", value:80 } ]; var yA2 = new dojo.charting.Axis(); yA2.range = { upper:80, lower:0 }; yA2.origin = "max"; yA2.showTicks = true; yA2.labels = [ { label:"0", value:0 }, { label:"20", value:20 }, { label:"40", value:40 }, { label:"60", value:60 } ]; var g1 = new dojo.charting.Plot(xA, yA); g1.addSeries({ data:l1, plotter:dojo.charting.Plotters.Line }); g1.addSeries({ data:l2, plotter:dojo.charting.Plotters.Line }); var g2 = new dojo.charting.Plot(xA, yA2); g2.addSeries({ data:b1, plotter:dojo.charting.Plotters.DataBar }); var graph1 = new dojo.charting.PlotArea(); graph1.plots.push(g2); graph1.plots.push(g1); graph1.size = { width:249, height:223 }; graph1.padding = { top:0, right:0, bottom:0, left:0 }; l1.color = "#0000DD"; l2.color = "#00FFFF"; b1.color = "#0000FF"; var chart1 = new dojo.charting.Chart(null, "Test chart1", "This is a test chart No1." ); chart1.addPlotArea({ x:45, y:15, plotArea:graph1 }); chart1.node = dojo.byId("chartTest1"); chart1.render(); }); </script> </head> <body> <div id="chartTest1" style="position:absolute;left:50px;"></div> </body> </html>

KanjiTalk
質問者

補足

Could not load 'dojo.collections.Store'; last tried '__package__.js' とエラーになり、何も表示されないのですが。 dojo-0.4.2-ajaxを使っています。 >自分のパソコンに保存したものを Web アーカイブではないですよね?

回答No.1

こんにちは、はじめまして。 私はDojoを使ってグラフを描画していますが、ローカルでも見えますよ? 最初にdojo.jsを読み込んでその後に記述しているので特に特別なことはしていないはずなのですが…。

KanjiTalk
質問者

お礼

早速のご回答ありがとうございます。dojoをローカルHDに置いて使ってもエラーが出ないということでよろしいのでしょうか。また、ブラウザも教えて頂けると幸いです(私はIE7)。

KanjiTalk
質問者

補足

ぜひソースを見せて下さい。

関連するQ&A