- PR -

scriptタグに値を埋め込みたい

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2007/09/29
投稿数: 78
投稿日時: 2008-12-13 17:18
いつも、ありがとうございます。

scriptタグに値を埋め込み、それを呼び出しScript内で利用したいのですが。

■一般的なScript呼び出し
<script language="JavaScript" type="text/javascript" src="abc/script.js" charset="utf-8"/>

このような感じで関連付けていると思うのですが、

<script language="JavaScript" type="text/javascript" src="abc/script.js" charset="utf-8" param1="data1" param2="data2"/>

↑このようにparam1 & param2の値を可変データとして、abc/script.js内で取得したいのですが、可能でしょうか?

ちょっと、無理なような気もしているんですが・・・
お分かりになりましたら、ご教授くださいませ。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-12-13 18:28
引用:

未記入さんの書き込み (2008-12-13 17:18) より:

↑このようにparam1 & param2の値を可変データとして、abc/script.js内で取得したいのですが、可能でしょうか?
ちょっと、無理なような気もしているんですが・・・


"ちょっと" 無理なんですね。(^^;)
要するに JavaScript の中ではなく HTML 側で一部のパラメータを設定したいのだと読み取りました。 もしそうであれば、以下のような感じで要件は満たすでしょう。

コード:

    <script type="text/javascript"><!--
    param1 = "Hoge";
    param2 = "Fuga";
    //-->
    </script>

    <script type="text/javascript" src="abc/script.js"></script>


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
ベテラン
会議室デビュー日: 2007/09/29
投稿数: 78
投稿日時: 2008-12-13 18:42
じゃんぬねっとさん、ありがとうございます。

正しくその通りです!

やっぱりそうですね、出来ないんですね。。scriptを呼び出す前にグローバル変数として取得しないといけないですよね。

ありがとうございます!スッキリしました!
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-12-13 22:55
え、、、できますよ。
コード:
<script param1="foo" src="bar.js"></script>


や、
コード:
<script src="bar.js?param1=foo"></script>


という感じで事前に設定しておいて、bar.jsの中から読み出せます。
読み出すために、bar.jsの中から自分自身のDOMのscriptタグを、
うまいこと取得できなければいけませんが、
コード:
var currentScript = 
	(function(e){return e.nodeName.toLowerCase() == 'script' ?
		e : arguments.callee(e.lastChild)})(document);


で、取得できます。取得した後は、
コード:
alert(currentScript.getAttribute("param1"));



コード:
var params = currentScript.src.replace(/[^?]+?/, "").split(/
alert(currentScript.src);
//以降currentScript.srcのパラメータを自前でパース


IE6/IE7/FireFox/Safariでは問題ありませんでした。
未記入
ベテラン
会議室デビュー日: 2007/09/29
投稿数: 78
投稿日時: 2008-12-15 12:07
正しくやりたい事でした!

出来るんですね!ありがとうございました!
1

スキルアップ/キャリアアップ(JOB@IT)