JavaScriptファイルに引数を渡す(なるほどねー)を参考にする
大量のマニュアル作成で悩ましいのが「同じ事を複数のマニュアルに書く」という問題があって、Wordで管理している同僚の苦労を見かねて「HTMLでいいんじゃね?」と提言したもんだから、さらに悩む。
ハイパーリンクで構成すれば同じ記述の重複は発生しないけど「リンク無し!」「1ページに全ての情報を掲示したい」「微妙に写真とか文章が異なる」って条件で悩む。
以前作ったヤツ
HTML
<div class="copyright" id="copyright_change"><script type="text/javascript" charset="utf-8" src="js/copyright.js"></script></div>
JavaScript(copyright.js)
//http://www.fromdfj.net/javascript/innertext.html var copylength="Copyright© 2006-2010 kenmituo. All rights reserved."; if(document.all || document.getElementById){ // IE4/5、NN6用の分岐 if(document.all)document.all("copyright_change").innerHTML = copylength; else document.getElementById("copyright_change").innerHTML = copylength; } else if(document.layers){ // NN4.7用の分岐 with(document.layers["copyright_change"]){ document.open(); document.write(copylength); document.close(); } }
静的な文章を挿入するときに活用している書き方なんだけど、「微妙に写真とか文章が異なる」という条件には合わない。
そこで見つけたのがJavaScriptファイルに引数を渡す(なるほどねー)というサイト、試してみる。
HTML
<html> <body> <p>Script test</p> <div name="script" id="script"><script type="text/javascript" src="hoge.js?pc=1&vhs=1&ohc=0"></script> </div> </body> </html>
「?」の後ろに「"変数"=パラメーター」って記述で「&」で追加する。
hoge.js
//http://nplll.com/mutter/archives/2009/04/javascript_2.php var pc = new Array(); pc[0] = "Lavie"; pc[1] = "DELL"; pc[2] = "SONY"; var ohc = new Array(); ohc[0] = "Wolf Visione"; ohc[1] = "Anoymous"; var vhs = new Array(); vhs[0] = "victor"; vhs[1] = "toshiba"; var configs = new Object; var scripts = document.getElementsByTagName("script"); for (var i = 0; i < scripts.length; i++) { var s = scripts[i]; if (s.src && s.src.match(/hoge\.js(\?.*)?/)) { var params = s.src.replace(/.+\?/, ''); break; } } alert (params); params = params.split("&"); for(var i = 0; i < params.length; i++) { var tmp = params[i].split("="); configs[tmp[0]] = unescape(tmp[1]); } alert (pc[configs["pc"]]); alert (vhs[configs["vhs"]]); alert (ohc[configs["ohc"]]);
って感じで体感できた。
google-charts-on-railsを試したい
Open Flash Chart 2とOpen Flash Chart Lazyで非常に苦労してヽ(`Д´)ノな状態なのでgoogle-charts-on-railsに乗り換えようと思う。
C:\Users\kenmituo\Documents\Aptana Studio\projyect_home>ruby script/plugin install h ttp://google-charts-on-rails.googlecode.com/svn/google_charts_on_rails/ + ./MIT-LICENSE + ./README + ./Rakefile + ./init.rb + ./install.rb + ./lib/google_chart.rb + ./tasks/google_charts_on_rails_tasks.rake + ./test/google_charts_on_rails_test.rb + ./uninstall.rb
プロキシがあっても、インストールすることが出来た。非常に嬉しい。
んで、使い方がよく分からないので調べる。DES GRAPHIQUES AVEC RAILS ET GOOGLE CHARTS ON RAILSという何語かもわからないBlogの記事を発見
コントローラー def google_chart end ビュー <%= image_tag GoogleChart.pie(10,20,40,30).to_url %>
とりあえず描画されるようになった。
次にこんな事を試す
コントローラー def google_chart @lc= GoogleChart.pie(10,20,40,30).to_url end ビュー <%= image_tag @lc %>
これも描画されるようになった。
そして表モノで悩むのが「どうやってアレは指定するんだ?」
Google Chart Tools / Image Charts (aka Chart API)を眺めて考えられる。
って、やれることが多すぎてさらに悩むwww
自分のやりたいことは
- チャートのタイプは横棒(cht=bhs)
- データは1つの棒に1つ(chd=t:val,val,val)
- チャートのタイトル(chtt=
) - バーのラベル(chxt=x,y chxl=0:|Jan|Feb|Mar|Apr|May)
OFC2と違って出来ることが多すぎて、Chart Feature Listを見てさらに悩む。
プラグインの中を見直す。
/vendor/plugins/google_charts_on_rails/README
次の例はイケてないらしい。
GoogleChart.pie_with_size_blah_blah_600x400('year 1997'=>10,'year 1998'=>20,'year 1999'=>15,'year 2000'=>55).to_url
sales_chart = GoogleChart.new
sales_chart.type = :pie
sales_chart.data = [10, 20, 15, 55]sales_chart.height = 200
sales_chart.width = 150
#change the default colour with the hex code
sales_chart.colors = '346090'
small_sales_chart_url = sales_chart.to_url#reuse and change size, set labels for big chart
sales_chart.labels = ['year 1997','year 1998','year 1999','year 2000']
sales_chart.height = 600
sales_chart.width = 350
big_sales_chart_url = sales_chart.to_url
うまくいかないのでgoogle-charts-on-railsを試したいパート2に続く。