English 中文(简体)
Firefox and Opera do not finish loading webpage with an embedded Windows Media Player file
原标题:

BROWSERS CAUSING PROBLEM: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 Opera/9.80 (Windows NT 6.1; U; en) Presto/2.2.15 Version/10.10

CLIENT MACHINE: Windows 7 Ultimate 64-bit, 4 GB RAM, 250 GB HD, 2.3 GHz.

TEST WEBSITE: http://www.microwavecontrolledfusion.us

I have no problems loading the website files if loacated directly on my home computer (local access) under any browser (i.e. IE, FF, Opera, Safari, Chrome, Macintosh). The MP4 file plays fine under all browsers (IE, FF, Opera, Safari, Chrome, Mac Safari). When accessing over the web, only Firefox and Opera stall on loading when the website is the only tab opened. If another tab is opened, then this stalling does not take place, and the page loads and works fine. IE, Chrome, Safari, and Macintosh all load fine and work great.

The HTML interfaces via calling javascript function GenerateWMP loacted in an external movie.js file. The contents of this file are:

//-----------------------------------------------------------
// Writes the correct PromoClip object depending upon browser:
//-----------------------------------------------------------
function GenerateWMP()
{
  if (IsMac || Safari)
  {
    if (IsMac)
    {
      document.write( <OBJECT id="PromoClip" style="width:320px;height:256px;z-index: 1" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"> );
    }
    else
    {
      document.write( <OBJECT id="PromoClip" style="width:320px;height:256px;" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"> );
    }
    document.write(   <PARAM name="src"      value="docs/Low Density Pre-Experimental Promo.mp4"> );
    document.write(   <PARAM name="autoplay" value="false"> );
    document.write(   <EMBED src="docs/Low Density Pre-Experimental Promo.mp4" width="320" height="256" pluginspage="http://www.apple.com/quicktime/download/" id="Promo" name="Promo" autoplay="false" bgcolor="black"></ );
  }
  else
  {
    document.write( <OBJECT id="PromoClip" style="width:320px; height:304px;" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/ mplayer/en/nsmp2inf.cab#Version=5,1,52,701" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject"> );
    document.write(   <PARAM name="fileName"           value="docs/Low Density Pre-Experimental Promo.mp4"> );
    document.write(   <PARAM name="animationatStart"   value="true"> );
    document.write(   <PARAM name="transparentatStart" value="false"> );
    document.write(   <PARAM name="autoStart"          value="false"> );
    document.write(   <PARAM name="showControls"       value="true"> );
    document.write(   <PARAM name="showStatusBar"      value="true"> );
    document.write(   <PARAM name="loop"               value="false"> );
    document.write(   <EMBED type="application/x-mplayer2" pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" id="Promo" name="Promo" displaysize="4" autosize="-1" showcontrols="true" showtracker="-1" showdisplay="0" showstatusbar="true" videoborder3d="-1" width="320" height="304" src="docs/Low Density Pre-Experimental Promo.mp4" autostart="false" designtimesp="5311" loop="false"></ );
  }
  document.write( EMBED> );
  document.write( </ );
  document.write( OBJECT> );
}

The HTML from a table column that invokes this function is:

<TD class="mid" id="d0_c" style="width:320px;height:304px;vertical- align:top;cursor:pointer;background:url( img/clear.png ) center top no-repeat" onClick="if (running==0) {MovieStart();}"><DIV id="Movie"><SCRIPT type="text/javascript" language="JavaScript1.1">GenerateWMP();document.close();</SCRIPT></DIV></TD>  

I have already experimented with Quicktime Player and found the same problems. This loads right only when I have nother tab already opened. I therefore believe this must be a browser bug. I d like to know the cause of the stalling, and be able to fix this for Firefox and Opera, if possible. Any clarification would be appreciated, even if only to confirm that this is a known bug.

问题回答

Maybe the problem is you re expecting the WMP plugin to play MP4 files. With the default codecs present in Windows pre-7 it won t, in any browser.

Maybe the problem is that you re not getting the expected media player plugin on the other browsers. WMP, QT and Real may all try to play ‘application/x-mplayer2’ embeds and which one wins is a matter of configuration and luck. Real and older QTs can t play MP4 either. And all plugins randomly fail because they hate you.

Maybe the problem is the invalid URLs (spaces should be encoded as %20).

Or maybe the problem is simply that you re embedding a media player plugin. This has never worked reliably. Never. Almost no-one even tries any more. It s a total dead loss. The world has overwhelmingly moved on to Flash video, with HTML5 <video> coming up on the horizon but not mainstream yet; do yourself a favour and join them.

The problem is due to a long movie "preloading", and this happens on Firefox and Opera browsers when loading WMP videos. I have solved this problem by forcing the WMP player to play TWO movies using a playlist (mpu) file. The first video is very short (one frame), and so when it loads it does not take long at all. This is the short, one-frame preload. Then when the visitor presses the image for the movie, the first movie plays very rapidly, and the next one loads not until then. This way, the page loads quickly, and behaves correctly. The long movie no longer causes initial page loading delay because the preload only loads the first single-frame movie in the playlist.

This issues is resolved.





相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签