1

1トンの変数値を含むenglish.phpというファイルがあります。$LANG配列のすべての部分。

例:

$LANG['value_1']="abc";

$LANG['value_2']="xyz";

次に、使用する100万の異なる.phpファイルがありますrequire_once('english.php');

それは問題ありませんが、私が使用しているjavascriptおよびjqueryプラグインもたくさんあります。それらはすべて外部の.jsファイルを持っています。$LANG.jsファイルで使用できるJavaScriptの値を取得するにはどうすればよいですか?

残りのjavascriptコードを実行する前に、どういうわけか.phpデータを読み取るために、.jsの先頭にコードを追加する必要があると思います。どうすればいいのか全くわかりません。

私はいくつかの考えられるアイデアを見てきましたが、すべてを大幅に書き直したくはありません。簡単な解決策を探しています。誰かがこの無知な初心者を助けることができますか?

=======受け取ったコメントに基づいて詳細情報を追加=======

私は今、このコードを含むlang.phpを持っています...

<?php
session_cache_limiter('nocache');
session_start();
require_once ($_SESSION['language'].'.php');


$js_out = json_encode($LANG);

?>
<script>
    var LANG = <?php echo $js_out; ?>;
    alert(LANG.value_1);
</script>

lang.phpにアクセスすると、english.phpに正常にアクセスし、「abc」にアラートを送信します。

私の問題は、これが別のファイルに追加されたときに機能しないことです...

<script type='text/javascript' src='lang.php'></script>
<script>
    alert(LANG.value_1);
</script>

=======ソリューションを追加するために編集=======

以下の人々のコメントのおかげで、私は<script>lang.phpファイルのを取り除き、それは機能しました。

私は今、このコードを含むlang.phpを持っています...

<?php
session_cache_limiter('nocache');
session_start();
require_once ($_SESSION['language'].'.php');


$js_out = json_encode($LANG);

?>

var LANG = <?php echo $js_out; ?>;
4

6 に答える 6

2

english.php内に次のコードを含めることができます。

<?php


$LANG['value_1']="abc";
$LANG['value_2']="xyz";

$js_out = json_encode($LANG);

?>
<script>
    var LANG = <?php echo $js_out; ?>;
</script>

ページが読み込まれると、JavaScriptにLANGが表示されます。

于 2013-03-26T16:18:44.690 に答える
0

これは、javascriptで$LANGを表示する必要があるファイルの単純なスクリプトタグを使用して行うことができます。

1)$LANGのjavascript表現をエコーするphpファイルを作成します-それをlang.phpと呼びましょう

echo 'var english ="' . $LANG['value_1']  "';";

2)このファイルをhtmlに含めると、通常のjavascript変数として英語などの変数を使用できます。

<script language="javascript" src="http://whatever.com/lang.php"> </script>
于 2013-03-26T16:10:35.653 に答える
0

試す:

<script ...>
var mydata = <?=json_encode($LANG)?>;
</script>

json_encodeJSON表現を含む文字列を返します。 http://php.net/manual/en/function.json-encode.php

于 2013-03-26T16:13:24.717 に答える
0

私は正しいことは次のようなものだと思います:

var foo = "<? echo $LANG['bar']; ?>";

jsコードで書くphpコードが少なければ少ないほど、より良く、よりクリーンになります。

于 2013-03-26T16:13:54.000 に答える
0

PHPファイルを作成できます。

<?php
header('Content-Type: text/javascript');
echo 'var lang = {};';
foreach ($LANG as $key => $value) {
    echo "lang['$key'] = '" . addslashes($value) . "';";
}
?>

次に、スクリプトをリンクすると、langオブジェクトを使用できます。

<script type='text/javascript' src='/path/to/lang.php'></script>
<script type='text/javascript'>
alert(lang.value_1);
</script>
于 2013-03-26T16:43:25.280 に答える
0

<script></script>ファイルとしてリンクしたときに構文エラーを引き起こす可能性のあるタグを削除しtext/javascriptます。

于 2013-03-26T18:08:54.790 に答える