- ベストアンサー
Dojo を知っている方...
dojo.widget の部品をローカルで(HTAなどで)使いたいのですが、無理でしょうか。Dojo は非同期通信で JavaScript ファイルを読み込んでいるらしい(のかな?)ので、そのまま DL しても使えないのですが、どうにかなりませんか。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
今、IE7をダウンロードして見てみたのですが、やっぱり見られませんね。 エラーは出ないのですが、何にも表示されません。 dojo > tests > widget > test_Button.html のほうは動いてました。(一部?) dojoがまだIE7に対応していないのかもしれませんね。 どうしてもIE7じゃないと、となるとどうしたらいいかわかりません…。 結局、お役に立てず申し訳ありません。
その他の回答 (3)
- shiningsun
- ベストアンサー率50% (7/14)
もしかして、ファイル名をそのままで使っていませんか? 解凍したファイルは名前をdojo-0.4.2-ajaxではなくて、dojoに変えてから使います。 もし、見当違いでしたら申し訳ありません。 私の環境では問題なく見れているので。
補足
はい、もちろん変えています。 エラーはdojo.jsが出しているようです。 私の試した環境は… 1.Windows XP IE7で 2.DLしたzipを右クリ→「すべて展開」で解凍 3.Dojoとテスト用のHTMLを両方ローカルゾーンに置く みたいな感じです。 dojo > tests > widget > test_Button.html なども問題なく表示されますか?
- shiningsun
- ベストアンサー率50% (7/14)
そうですね。 自分のパソコンに保存したものをプレビューしたら見れたので、そういうことになります。 ブラウザは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>
補足
Could not load 'dojo.collections.Store'; last tried '__package__.js' とエラーになり、何も表示されないのですが。 dojo-0.4.2-ajaxを使っています。 >自分のパソコンに保存したものを Web アーカイブではないですよね?
- shiningsun
- ベストアンサー率50% (7/14)
こんにちは、はじめまして。 私はDojoを使ってグラフを描画していますが、ローカルでも見えますよ? 最初にdojo.jsを読み込んでその後に記述しているので特に特別なことはしていないはずなのですが…。
お礼
早速のご回答ありがとうございます。dojoをローカルHDに置いて使ってもエラーが出ないということでよろしいのでしょうか。また、ブラウザも教えて頂けると幸いです(私はIE7)。
補足
ぜひソースを見せて下さい。
お礼
いえいえ、ありがとうございます。 dojo > Support > Forum にも質問してみましたが、 やはりセキュリティ上の問題だそうです。 IE6 でも試してみます。本当にありがとうございました。
補足
IE6で見たところすんなり動きました!! やはりIE7には対応していないんですね...。