2

私のウェブサイトにギャラリー用のロード GIF があります。私のjsファイルには、ローダーを表示する次のコードがあります。

image: $("<img src='images/loading.gif'/>"),

現在、完全な画像パスを入力していないため、この画像は表示されません。ただし、イメージの完全なパスを配置する代わりに、次のようにすることをお勧めします。

<img src="<?php bloginfo('url');?>/images/loading.gif”&gt;

しかし、このphpをjsファイルで機能させる方法がわかりません。どうすれば最も簡単な方法でそれを行うことができますか?

4

5 に答える 5

1

私はすることを好む..

1)ヘッダー インクルード (<head> データを含む php インクルード) に、サーバー (PHP) から必要な変数を含むグローバル オブジェクトを作成する小さなインライン JS 関数を記述します。ここで「echo」関数と「json_encode」関数を使用できます。これは、php ファイルのインライン JS スニペットに含まれているためです。

2) AJAX を使用して PHP ファイルを呼び出す JS ファイル内に JS 関数を記述できます。これは、番号 1 と同じ JSON エンコード データを返し、それを解析してグローバル変数に割り当てます。

どちらも基本的に同じことを行いますが、2 で AJAX を使用しているため、追加の要求が追加されます。ページの実行とともに行われるため、オプション 1 を好みます。オプション 2 では、プログラムのさまざまな側面によっては、DOM の準備が整うまで待つ必要がある場合があります (これについてはわかりません)。

オプション 1 にはインライン JS が必要ですが、動的な Web サイトでは、短くて簡潔であるだけでなく、実際にはプラスになる可能性があるため、これについて文句を言うべきではありません。一部の人々は、インライン JS について他の人に乗り気です。彼らがあなたに怒鳴らせてはいけません。

于 2012-11-08T00:56:47.833 に答える
0

代わりに(そのjsファイルにすでにあるすべてのコードとphp変数/関数への参照を含む)phpファイルを作成し、それをメインのphpファイルに含めることができます。

HTMLの例:

<?php $example = 23; ?>
<html>
<head><title></title>
<script type="text/javascript">
<?php include('js.php'); ?>
</script>
</head>
<body></body>
</html>

js.php:

var a = <?= $example ?>;
alert(a);

最終的に出力されます:


<html>
<head><title></title>
<script type="text/javascript">
    var a = 23;
    alert(a);
</script>
</head>
<body></body>
</html>
于 2012-11-08T01:44:47.497 に答える
0

あなたが何をしようとしているのか、私にはよくわかりません。しかし、その JS が機能しない場合は、php ファイルを含めたり、「echo()」に含まれる JS を含むヘッダーにいくつかの php を記述したりしないでください。すなわち:

 echo('?><img src="<?php bloginfo('url');?>/images/loading.gif" /><?php');

あなたの意図を誤解している場合は、私を訂正してください。

于 2012-11-08T00:56:29.623 に答える
0

PHP データを JavaScript に渡すためのよりクリーンな手法は、JavaScriptを介してアクセスできるデータ属性にデータを格納することです。簡単な例として:

<body data-home-url="<?php echo home_url(); ?>">

次のように jQuery でアクセスできます。

var home = $('body').attr('data-home-url');

参考までに、 json_encodeを使用して、PHP オブジェクト/配列を$.parseJSONまたはJSON.parseで読み取ることができる JSON オブジェクトに変換できます。WP のwp_localize_scriptは実際にこれを行うことができますが、その場合、変換されたデータがwindowに公開されることに注意してください。

于 2012-11-08T01:25:26.003 に答える
0

PHP コードを .js ファイルに直接配置することはできませんが、JavaScript ファイルをインクルードする直前に、PHP ファイルの head 要素に JavaScript を含めることができます。

この JavaScript では、変数を定義し、PHP を使用して変数にデータを割り当てることができます。これらの変数は、javascript ファイル内からアクセスできます。

<head>
    <script type='text/javascript'>
       var _g_bloginfo = "<?php echo '...'; ?>";
    </script>

    <script type='text/javascript' src='javascript.js'></script>
</head>
于 2012-11-08T01:00:25.763 に答える