[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
JavaScript の記事の中ではいままで全て静的なソースで説明を行ってきましたが、 今回は JavaScript のスクリプトを PHP から生成する例を示します。
Web のシステムを組む場合 PHP をよく使っていますが PHP では動的に HTML のスクリプトを生成します。
HTML のスクリプトと言っても結局は文字列の集合体であって JavaScript のスクリプトも同様に動的に出力できます。
以下の例は PHP のソースですがページが表示された最初にメッセージを表示する部分を JavaScript として動作する様に PHP で出力させています。
■PHP から JavaScript を生成させる簡単な例(test-java.php 等のファイル名として実行)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php // javascript の文字列の生成 $strJavaScript = '<script> $( function () { alert( "test" ); }); </script> '; ?> <!DOCTYPE html> <html> <head> <meta charset= "utf-8" > <title>test jQuery</title> <?php // 生成された javascript の出力 echo $strJavaScript ; ?> </head> <body> <p>テストメッセージ</p> </body> </html> |
上記のソースは PHP のソースとしてファイル拡張子として .php としています。 当然のことながら Web 上では PHP が実行できる環境は必須です。
尚、 HTML の BODY 部の中身は特に意味があるものではありません。
これを実行させた場合に、アラートで「test」と表示されるはずです。 ブラウザで生成された HTML スクリプトは以下の様になるはずです。
■生成された HTML スクリプト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!DOCTYPE html> < html > < head > < meta charset = "utf-8" > < title >test jQuery</ title > < script > $(function() { alert("test"); }); </ script > </ head > < body > < p >テストメッセージ</ p > </ body > </ html > |
今回の例は HEAD 部 BODY 部ともにほとんど固定されたものですが PHP ではそれらの中身全て動的に生成が可能ですし、 そういったことが一般的です。 今回は javascript の生成のみを可変的にしましたが PHP と組み合わせることで複雑なことができると思います。
例えば、$_GET や $_POST などで動作指示を行い、今回のアラート表示の実行を制御することができます。
■$_GET で動作指示を行う例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?php // javascript の文字列クリア $strJavaScript = '' ; if (isset( $_GET [ "alert" ]) == true) { // [test-java.php?alert] javascript の文字列の生成 $strJavaScript = '<script> $( function () { alert( "test" ); }); </script> '; } ?> <!DOCTYPE html> <html> <head> <meta charset= "utf-8" > <title>test jQuery</title> <?php // 生成された javascript の出力 echo $strJavaScript ; ?> </head> <body> <p>テストメッセージ</p> </body> </html> |
この例ですと「test-java.php?alert」とすればページが最初に表示された時にアラートが表示されます。
「test-java.php」のままではアラートは表示されません。
関連する記事
⇒JavaScript IE では関数のデフォルト引数が動作しない⇒JavaScript PHPからのスクリプトの生成と制御
⇒JavaScript ファイルのダウンロードについて(link, XMLHttpRequest, msSaveBlob)
⇒JavaScript jQueryを使った checkbox の操作方法
⇒JavaScript jQueryを使った checkbox の操作方法・その2(チェック件数)
⇒JavaScript jQueryで password 入力を見える様にする方法
⇒JavaScript jQueryでQRコードを表示する方法
⇒JavaScript jQueryで要素を追加する方法(append,appendTo,before,after)
⇒JavaScript jQueryで Form のSUMITを処理する方法( submit() )
⇒JavaScript jQueryでモーダルウインドウ風の表示をする方法(css:display, css:z-index, fadeIn, fadeOut)
コメント