下記のように、株価を表示できるphpを作りました。
株価番号が変われば内容も変わります。
https://example.com/chart_data.php?no=5101
下記はphpのソースではなく、phpの結果です
php
1 2var seriesData = [ { x: new Date(2020-09-01), y: [1320, 1673, 1319, 1671] }, { x: new Date(2020-09-02), y: [1671, 1888, 1669, 1888] }, { x: new Date(2020-09-03), y: [1888, 2063, 1885, 2063] }, { x: new Date(2020-09-04), y: [1985, 1985, 1973, 1973] }, ] 3
上記phpは当方のサーバー内で動きます。
上記を使用して、スマートフォン用のアプリでチャートを表示させようと思います。
スマートフォンなのでphpが使えません。
一方、このphpの中身をローソク足として表示できるjavascriptがあります。
下記であれば5101のチャートが表示されます。
chart.html
javascript
1<script src="https://example.com/chart_data.php?no=5101"></script> 2 <script> 3チャート表示スクリプト 4 </script> 5
【やりたいこと】
上記のchart.htmlは5101の株式ナンバーに固定されています。
この株式ナンバーについて、自分のファイルであるchart.htmlのパラメーターをベースとした変数
にしたいというのが希望です。
chart.html?no=5101 chart.html?no=5108 のようにパラメーターを変えるだけで、
5101だけでなく、5108などいろいろなチャートを表示させたいと考えています。
そのためには、chart.html?no=5108 とした段階で
chart.html 内に記載されている下記の script src の番号が下記のように変わる必要があります。
これがうまく出来ないのが、今回の質問事項です。
【私が持っているjavascript】
下記のスクリプトにより、chart.html?no=XXXX というパラメーターが来た時に
var no という変数について、XXXXとすることが可能になります。
javascript
1 2<script> 3var url = location.href ; 4document.write(""+url+""); 5</script> 6<script> 7 var urlPrm = new Object; 8 var urlSearch = location.search.substring(1).split('&'); 9 for(i=0;urlSearch[i];i++) { 10 var kv = urlSearch[i].split('='); 11 urlPrm[kv[0]]=kv[1]; 12 } 13 var no = ("" + urlPrm.no + ""); 14</script> 15
やってみたこと
下記のように作り、「chart.html?no=5108」としてnoに5108を当ててみました。
chart.html?no=5108
javascript
1 2<script> 3var url = location.href ; 4document.write(""+url+""); 5</script> 6<script> 7 var urlPrm = new Object; 8 var urlSearch = location.search.substring(1).split('&'); 9 for(i=0;urlSearch[i];i++) { 10 var kv = urlSearch[i].split('='); 11 urlPrm[kv[0]]=kv[1]; 12 } 13 var no = ("" + urlPrm.no + ""); 14</script> 15 16<script src="https://example.com/chart_data.php?no="" +no+ ""></script> 17 <script> 18チャート表示スクリプト 19 </script> 20
5108のチャートが表示されると期待したのですが、うまく代入できませんでした。
どうすれば、<script src="URL"></script> のURLパラメーターにjavascriptの変数を代入できるでしょうか?
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/04 12:51
2020/09/04 12:59
2020/09/04 13:01
2020/09/04 13:03
2020/09/04 13:22
2020/09/04 14:30
2020/09/04 14:52
2020/09/04 15:45