Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用用于IE7和IE8的jQuery在Facebox中加载FLV_Javascript_Jquery_Haml_Facebox_Jwplayer - Fatal编程技术网

Javascript 使用用于IE7和IE8的jQuery在Facebox中加载FLV

Javascript 使用用于IE7和IE8的jQuery在Facebox中加载FLV,javascript,jquery,haml,facebox,jwplayer,Javascript,Jquery,Haml,Facebox,Jwplayer,不用说,这在Chrome、Firefox和Safari中都能完美地工作。任何版本都有问题 目标:我正在尝试加载JWplayer,它在Facebox弹出窗口中从S3加载FLV jQuery(document).ready(function($) { $('a[rel*=facebox]').facebox() }) HTML haml: %li#videoGirl = link_to 'What is HQchannel?', '#player', :rel => 'facebo

不用说,这在Chrome、Firefox和Safari中都能完美地工作。任何版本都有问题

目标:我正在尝试加载JWplayer,它在Facebox弹出窗口中从S3加载FLV

jQuery(document).ready(function($) {
  $('a[rel*=facebox]').facebox() 
})
HTML haml:

%li#videoGirl
  = link_to 'What is HQchannel?', '#player', :rel => 'facebox'

.grid_8.omega.alpha#player{:style => 'display: none;'}
  :javascript
    var so = new SWFObject('/flash/playerTrans.swf','mpl','640px','360px','0');
    so.addParam('allowscriptaccess','always');
    so.addParam('allowfullscreen','true');
    so.addParam('wmode','transparent');
    so.addVariable('file', 'http://hometownquarterlyvideos.s3.amazonaws.com/whatishqchannel.flv&autostart=true&controlbar=none&repeat=always&image=/flash/video_girl/whatishqchannel.jpg&icons=false&screencolor=none&backcolor=FFFFFF&screenalpha=0&overstretch');
    so.addVariable('overstretch', 'true')
    so.write('player');
问题:

尽管视频设置为显示:无;。反正它开始演奏了。 当点击激活div时,IE7弹出一个错误大小的空白div,其中nav参数设置为不显示nav和scriber,并且nav和srubber上没有按钮工作。IE8显示了正确的大小,但与导航和洗涤器不工作以及空白屏幕相同的行为。 我猜:
我认为问题在于javascript没有在正确的时间被调用。它似乎在加载没有jwplayer的facebox。至少我认为是这样。这就是为什么导航在那里的原因。我认为它没有为此阅读javascript。

这里有几个问题

第一期:SWFOBJECT

我认为您正在看到不受欢迎/不可预测的行为,因为您的SWFObject语法有点不正确。使用SWFObject,您可以:

一,。使用addParam'flashvars',flashvars,其中flashvars是由&,ie分隔的配置选项串

var so = new SWFObject('/flash/playerTrans.swf','mpl','640px','360px','0');
so.addParam('allowscriptaccess','always');
so.addParam('allowfullscreen','true');
so.addParam('wmode','transparent');
so.addParam('flashvars', 'file=http://hometownquarterlyvideos.s3.amazonaws.com/whatishqchannel.flv&autostart=true&controlbar=none&repeat=always&image=/flash/video_girl/whatishqchannel.jpg&icons=false&screencolor=none&backcolor=FFFFFF&screenalpha=0&overstretch=true');
so.write('player');

二,。使用一堆addVariable语句,即

var so = new SWFObject('/flash/playerTrans.swf','mpl','640px','360px','0');
so.addParam('allowscriptaccess','always');
so.addParam('allowfullscreen','true');
so.addParam('wmode','transparent');
so.addVariable('file', 'http://hometownquarterlyvideos.s3.amazonaws.com/whatishqchannel.flv');
so.addVariable('autostart', 'true');
so.addVariable('controlbar', 'none');
so.addVariable('repeat', 'always');
so.addVariable('image', '/flash/video_girl/whatishqchannel.jpg');
so.addVariable('icons', 'false');
so.addVariable('screencolor', 'none');
so.addVariable('backcolor', 'FFFFFF');
so.addVariable('screenalpha', '0');
so.addVariable('overstretch', 'true');
so.write('player');
如果您需要任何其他信息,jwplayer站点上有一个优秀的教程和一个可以提供随时使用SWFObject代码的示例

第二个问题:显示时自动启动:无

这是一个很快的问题。在大多数浏览器中,当您设置display:none时,Flash将被终止。IE中不是这种情况。要防止这种情况,您需要设置

so.addVariable('autostart', 'false');
如果您使用一点JS来设置DisplayCSS属性,并且希望播放器在播放器出现时开始播放,我建议您修改JS以通过启动和停止播放器。诚然,这有点复杂,但这都是跨浏览器无缝工作的一部分

最好的

扎克


开发者,LongTail Video

此代码将在facebox javascript实例化后成功加载JWplayer。在IE7或IE8中还没有显示视频,但JWplayer可以适当地加载,这仍然有一些问题

HTML:

Javascript:

$(document).ready(function(){
 // click on flash video link
 $('.flash').click(function(){
  $.facebox('<div id="fbvideo"></div>');
  var so = new SWFObject('/flash/playerTrans.swf','fbvideo','640px','360px','0');
  so.addParam('allowscriptaccess','always');
  so.addParam('allowfullscreen','true');
  so.addParam('wmode','transparent');
  so.addVariable('file', $(this).attr('href'));
  so.addVariable('autostart','true');
  so.addVariable('controlbar','none');
  so.addVariable('repeat','always');
  so.addVariable('image',$(this).attr('rel'));
  so.addVariable('icons','false')
  so.addVariable('screencolor','none');
  so.addVariable('backcolor','FFFFFF');
  so.addVariable('screenalpha','0');
  so.addVariable('overstretch', 'true');
  so.write('fbvideo');
  return false;
 })
})

嘿,扎克,很荣幸收到你的回复。您的第一个音符与我的代码相同。不知道你指的是什么。如果第二个问题是真的,我仍然希望它自动启动,而且似乎我必须写一两行代码才能使它仍然自动启动;vs so.addVariable'file',';
$(document).ready(function(){
 // click on flash video link
 $('.flash').click(function(){
  $.facebox('<div id="fbvideo"></div>');
  var so = new SWFObject('/flash/playerTrans.swf','fbvideo','640px','360px','0');
  so.addParam('allowscriptaccess','always');
  so.addParam('allowfullscreen','true');
  so.addParam('wmode','transparent');
  so.addVariable('file', $(this).attr('href'));
  so.addVariable('autostart','true');
  so.addVariable('controlbar','none');
  so.addVariable('repeat','always');
  so.addVariable('image',$(this).attr('rel'));
  so.addVariable('icons','false')
  so.addVariable('screencolor','none');
  so.addVariable('backcolor','FFFFFF');
  so.addVariable('screenalpha','0');
  so.addVariable('overstretch', 'true');
  so.write('fbvideo');
  return false;
 })
})