さまざまな php ファイルを使用する Web サイトを作成しています。私のサイトはWordpressを使用しており、音楽ブログです。画面の上部に jPlayer プレイリストがあり、個々の投稿ごとに、その曲を再生するための再生ボタンが必要です。
いくつかの異なるphpファイルにまたがるphpとjavascriptでいくつかの関数を作成しました。php ファイルの 1 つでグローバル JavaScript 変数を宣言し、別の php ファイルでアクセスするにはどうすればよいですか? 言い方が悪いのは承知していますので、説明させてください。
ファイル 1: my_functions.php (ここで jPlayer プレイリストをセットアップします。変数 song_index は、グローバルにしたいものです。
<script type = "text/javascript">
var song_index = 0;
var theTitles = new Array();
var theMP3s = new Array();
var jplayer_playlist;
function add_song(title, mp3)
{
theTitles[song_index] = title;
theMP3s[song_index] = mp3;
song_index++;
}
function play_song(index)
{
alert("You want to play song " + index);
//jplayer_playlist.play(index);
}
function get_playlist()
{
var playlist = new Array();
for(var i = 0; i < theTitles.length; i++)
{
playlist[i] = {title: theTitles[i], mp3: theMP3s[i]};
}
return playlist;
}
$(document).ready(function()
{
var playlist = get_playlist();
jplayer_playlist = new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_1",
cssSelectorAncestor: "#jp_container_1",
oggSupport:false
}, playlist, {
swfPath: "/js",
supplied: "mp3",
wmode: "window"
}
);
});
//]]>
</script>
これにより、jPlayer プレイリストがページごとに動的に設定されます。
ファイル 2 shortcodes.php (これは、Wordpress のショートコードを使用して曲を追加する場所です。曲をプレイリストに追加するときに使用するコードは次のとおりです...)
function player_function($args)
{
$url = $args['url'];
$title = $args['title'];
if(!$title)
{
$title = get_the_title();
}
add_song($title, $url);
$ret = "<a href = '" . $url . "'></a><br><a href=\"javascript:void(0)\" onclick = \"play_song(".$_GET['window.song_index'].")\">Play</a>";
return "$ret";
}
最初のファイルからphp変数にsong_indexにアクセスするだけで、それを渡すことができます。ご覧のとおり、誰かがこの方法で JS 変数にアクセスできると言っていたので $_GET を使用してみましたが、うまくいきませんでした。誰にも手がかりはありますか?