我需要在网站的不同页面上访问我的JW Player对象以加载播放列表.
所以我添加了一行代码,播放器就消失了!
<?php $_SESSION['theJwPlayer'] = jwplayer; ?>
Run Code Online (Sandbox Code Playgroud)
我在任何需要访问$ _SESSION的页面的顶部使用以下内容:
session_start();
Run Code Online (Sandbox Code Playgroud)
这是播放器的创建,这个工作正常,超过一周,除了最后一行代码:
<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>
Run Code Online (Sandbox Code Playgroud)
如果我只删除那个将播放器存储在_SESSION数组中的那一行php代码,那么播放器的网页会恢复正常,它们已经持续了一周以上,稳定,JW播放器显示,没问题.但添加这一行,播放器消失:
我以为会话会自动序列化对象?为什么这一行代码"消失"了我的jwplayer对象?
我尝试在jwplayer之前添加$,如同
<?php $_SESSION['theJwPlayer'] = $jwplayer; ?>
Run Code Online (Sandbox Code Playgroud)
没有变化,玩家消失了.这里发生了什么事?
您正在尝试将JavaScript对象实例存储到PHP变量中.那是不可能的.如果你必须拥有该对象,你可以做的最好的事情就是存储整个Javascript,包括<script>标签,正确转义,并回显它.但是如果你使用很多地方,你应该把它作为另一个文件包含在内,而不是把它保存在PHP的内存中.
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |