<OBJECT id="VIDEO" width="320" height="305" style="position:absolute; left:0;top:0;" type="x-ms-wmv" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"> <PARAM NAME="URL" VALUE="http://static.hugi.is/video/stuttmyndir/sjalfsoryggi2.wmv"> <PARAM NAME="AutoStart" VALUE="false"> <PARAM name="uiMode" value="full"> </OBJECT>
Síðan er PARAM:URL notað til að segja hvaða video á að spila.
Þetta virkaði mjög vel, þangað til ég fór að prófa aðra browsera en IE. Þetta virkaði hvorki í operu (OP) né firefox (FF). En báðir þessir vafrar styðja samt <object>
Til að fá þetta til að virka í OP þá þarf að bæta við einu PARAM við:
<PARAM NAME="SRC" VALUE="http://static.hugi.is/video/stuttmyndir/sjalfsoryggi2.wmv">
En þá er firefox eftir. Að bæta við PARAM:src er ekki nóg. Til að fá þetta til að virka í FF þá þarf að henda út CLASSID og setja í staðinn data="http://static.hugi.is/video/stuttmyndir/sjalfsoryggi2.wmv“. En merkilegt nokk, þá notar FF samt PARAM:src til að ákveða hvað á að spila. Flókið? Kannski. Ef þú setur data=clipA og param:src = clipB þá spilarðu clipB. Ef þú sleppir data=clipA, þá spilarðu ekki neitt! Svo að núna virkar þetta í FF og OP….. en EKKI IE. Týpískt.
En af hverju bara ekki að nota bara <embed> og losna við þetta fokking bögg? Af því að w3c segir svo? Það finnst mér ekki vera nógu góð ástæða. En, með því að nota object og CLASSID, þá fær maður aukna stjórn yfir videoinu. Þá getur maður farið að stjórna spilaranum með javascript í IE. id=”VIDEO" var sett inline í <object> til þess að geta gert þetta í js:
VIDEO.url = "clip02.wmv" //spila næstu klippu VIDEO.controls.stop() //þarf að útskýra frekar?
En OP og FF styðja ekki ActiveX (ekki by default), þannig að hjá flestum myndi þetta bara virka í IE. En mér finnst það þess virði að geta þetta. Þannig að ef maður vill nota bara OBJECT og láta það virka í ie,op og ff þá geri ég svona:
1. nota javascript til að byggja object element í síðunni með öllum nauðsynlegum stillingum.
- og nota if (document.all) til að ákveða hvort CLASSID er notað eða ekki.
2. til að stjórna spilaranum í ie, nota VIDEO.url og VIDEO.controls.stop() eða next()
Að skipta um klippu í op og ff er flóknara. Það er ekki hægt að nota javascript til að breyta param:src. Þ.e. það er hægt, en það hefur engin áhrif á playerinn. Eina lausnin sem ég fann var að setja auka container div (t.d id=“extra”) utanum <object>, og nota svo document.getElementById(“extra”).removeChild() til að hreinlega rífa playerinn útúr síðunni og setja hann svo inn aftur með js og nota þá næsta klippunafn í param:src.
Dálítið mikið ofbeldi kannski, en ef einhver getur bent mér á lausn sem virkar í öllum þremur browserum og spilar klippur á sömu síðunni, ekki hika.
Tilvitnun: http://www.mioplanet.com/rsc/embed_mediaplayer.htm
Testað á: IE6.0sp2, OP v8.51, FF v1.5
—–
http://arul.dk