我正在制作一个使用许多不同 php 文件的网站。我的网站使用 Wordpress,是一个音乐博客。我在屏幕顶部有一个 jPlayer 播放列表,对于每个单独的帖子,我都希望有一个播放按钮来播放那首歌。
我在几个不同的 php 文件中用 php 和 javascript 制作了一些函数。如何在我的一个 php 文件中声明一个全局 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";
}
几乎我只需要从第一个文件访问song_index到一个 php 变量中,这样我就可以传递它。如您所见,我尝试使用 $_GET ,因为有人说您可以通过这种方式访问 JS 变量,但它不起作用。有人有任何线索吗?