我需要访问网站不同页面上的JW Player对象来加载播放列表。
所以我加了一行代码,玩家就消失了!
<?php $_SESSION['theJwPlayer'] = jwplayer; ?>
我在任何需要访问$_SESSION:的页面顶部使用以下内容
session_start();
以下是播放器的创建,这在一周多的时间里都很好,除了最后一行代码:
<script type="text/javascript">
jwplayer('mediaplayer').setup({
'flashplayer': 'http://localhost/theWebsite/jwplayer/player.swf',
'id': 'playerID',
'width': '480',
'height': '270',
'file': 'http://localhost/theWebsite/videos/moto_sounds.flv',
'image': 'http://localhost/theWebsite/images/banner2.jpg'
});
// now save the player in a session variable
<?php $_SESSION['theJwPlayer'] = jwplayer; ?>
</script>
如果我简单地删除将播放器存储在_SESSION数组中的那一行php代码,那么播放器的网页就会恢复正常,就像一周多以来一样,稳定,JW播放器就会出现,没有问题。但加上这一行,玩家就会消失:
我认为会话会自动序列化对象?为什么这一行代码正在"消失"我的jwplayer对象
我试着在jwplayer之前添加$,就像在中一样
<?php $_SESSION['theJwPlayer'] = $jwplayer; ?>
没有变化,玩家消失了。这里发生了什么?
您正试图将JavaScript对象实例存储到PHP变量中。这是不可能的。如果您必须拥有该对象,那么您可以做的最好的事情就是存储整个Javascript,包括<script>
标记,正确地转义,并将其回显。但是,如果你使用了很多地方,你应该把它作为另一个文件来包含,而不是把它保存在PHP的内存中。