- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部JSファイルで値を受け取る方法)
外部JSファイルで値を受け取る方法
このQ&Aのポイント
- 外部JSファイルで値を受け取る方法について教えてください。
- script要素のsrc属性に値を指定して外部JSファイルに渡す方法を教えてください。
- script要素のsrc属性に値を指定して外部JSファイルに渡す方法についての情報が見つかりませんでした。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 方法はNo1様が回答した通りと推測します。 ごく簡単な例を・・・ <test.js> (function(){ var s = document.getElementsByTagName("script"); var obj = JSON.parse(s[s.length-1].innerHTML); var i, txt = ""; for(i in obj) txt += i + " = " + obj[i] + "<br>"; document.getElementById("result").innerHTML = txt; })(); <html> <!DOCTYPE HTML> <html lang="ja"> <head><title>TEST</title></head> <body> <div id="result">result</div> <script type="text/javascript" src="test.js"> { "hoge": "hogehoge", "fuga": 111, "piyo": 222 } </script> </body> </html>
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.1
DOMで、src属性のあるscriptタグの中身を順に見ているのだと思います。
質問者
お礼
なるほど。そういうことですか。 引数を渡せる仕組みが用意されているわけではないのですね。 ちょっと拍子抜けしてしまいました。 参考になりました。ありがとうございました
お礼
ソースをきちんとは解析できていないのですが以下のあたりの k.___gu=b}var b=Ub("cu"),e=q.scripts||q[pa]("script")||[],d=[],f=[];f[F][E](f,Ub("us"));for(var g=0;g<e[I];++g)for(var h=e[g],l=0;l<f[I];++l)h.src&& 0==h.src[H](f[l])&&d[F](h);0==d[I]&&0<e[I]&&e[e[I]-1].src&&d[F](e[e[I]-1]);for(e=0;e<d[I];++e)d[e][M]("gapi_processed")||(d[e][v]("gapi_processed",!0),(f=d[e])?(g=f.nodeType,f=3==g||4==g?f.nodeValue:f.textContent||f.innerText||f.innerHTML||""):f=void 0,(f=Yb(f))&&b[F](f));a&&(d={},Xb(d,a),c[F](d)); scripts, q[pa]("script"), src, innerText, innerHTML 等のキーワードから確かにそうっぽいですね。特に q=document pa="getElementsByTagName" という定義があるので。 わざわざサンプルを作成していただき、ありがとうございました。Chromeでも動くことが確認できました。(でも、だとするとgoogle+ボタンの設置で、なぜChromeでは効かないのか謎ですが) 引数を渡す仕組みがあるのかと思っていたのですが、そうではなく独自にがんばっていただけということでちょっと拍子抜けしてしまいました。 しかし参考になりました。ありがとうございました