mattiasnordinMedlem sedan maj 20012 062 inlägg
Sitter och labbar lite med att styra QuickTime pluginen i webläsaren med javascript enligt:
http://developer.apple.com/documentation/QuickTime/Conceptual/QTScripting_JavaScript/QTScripting_JavaScri_Document/chapter_1000_section_4.html
Exempel:
<OBJECT classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
codebase="http://www.apple.com/qtactivex/qtplugin.cab"
width="180" height="160"
autostart="true"
id="movie1" >
<PARAM name="src" value="/trailers/<%=varMovieSrc%>">
<EMBED width="180" height="160"
autostart="true"
src="/trailers/<%=varMovieSrc%>"
TYPE="video/quicktime"
PLUGINSPAGE="www.apple.com/quicktime/download"
name="movie1"
enablejavascript="true">
</EMBED>
</OBJECT>
<hr>
<a href="javascript:document.movie1.Play();">movie1.Play()</a><br>
<a href="javascript:document.movie1.Stop();">movie1.Play()</a><br>
<a href="javascript:alert(document.movie1.GetEndTime());">movie1.Play()</a><br>
<script language ="JavaScript">
alert(document.movie1.GetEndTime())
</script>
Varför fungerar länken <a href="javascript:alert(document.movie1.GetEndTime());">movie1.Play()</a><br> men inte alerten nedanför?
Måste man skapa en funktion som triggas på onLoad för att det inte ska generera ett fel ?
mattiasnordinMedlem sedan maj 20012 062 inlägg
Ingen som har någon förklaring ?
nitro2k01Medlem sedan aug. 20037 630 inlägg
Helt enkelt därför att quicktime-pluggen inte är inladdad vid det tillfället. Du måste vänta på onload. I ditt fall så funkar det om du klickar på länkarna, men det är inget du ska ta för givet. Om sidan av någon anledning skulle laddas så långsamt att du hann klicka på en av länkarna innan pluggen var laddad, så skulle även detta skapa ett fel.
mattiasnordinMedlem sedan maj 20012 062 inlägg
Tack för ditt svar. Jag drar samma slutsats. Men jag får det inte att fungera med onLoad heller.
<body bgcolor="black" text=white Onload="funGetInfo()">
<script language ="JavaScript">
function funGetInfo(){
varMovieLength = document.movie1.GetDuration()
varMovieTimeScale = document.movie1.GetTimeScale()
alert(varMovieTimeScale +" - " +document.movie1.GetDuration())
varMovieLength = varMovieLength / varMovieTimeScale / 60
document.frmSaveData.req_end_tim.value = varMovieLength
//alert(document.movie1.GetEndTime() +"\n" +document.movie1.GetQuickTimeVersion() +"\n" +document.movie1.GetQuickTimeLanguage() +"\n" +document.movie1.GetQuickTimeConnectionSpeed() )
//alert(document.movie1.GetPluginStatus() +"\n" +document.movie1.GetTime() +"\n" +document.movie1.GetKioskMode() +"\n" +document.movie1.GetDuration() )
//alert(document.movie1.GetMovieSize() +"\n" +document.movie1.GetMaxBytesLoaded() +"\n" )
}
</script>
Ger "UNSPECIFIED ERROR"
Det måste väl gå att trigga det på något annat sätt ???
nitro2k01Medlem sedan aug. 20037 630 inlägg
Vilken rad uppkommer felet på?
mattiasnordinMedlem sedan maj 20012 062 inlägg
Line 81
car 2
<script language ="JavaScript">
function funGetInfo(){
[b]varMovieLength = document.movie1.GetDuration()[/b]
varMovieTimeScale = document.movie1.GetTimeScale()
alert(varMovieTimeScale +" - " +document.movie1.GetDuration())
varMovieLength = varMovieLength / varMovieTimeScale / 60
document.frmSaveData.req_end_tim.value = varMovieLength
//alert(document.movie1.GetEndTime() +"\n" +document.movie1.GetQuickTimeVersion() +"\n" +document.movie1.GetQuickTimeLanguage() +"\n" +document.movie1.GetQuickTimeConnectionSpeed() )
//alert(document.movie1.GetPluginStatus() +"\n" +document.movie1.GetTime() +"\n" +document.movie1.GetKioskMode() +"\n" +document.movie1.GetDuration() )
//alert(document.movie1.GetMovieSize() +"\n" +document.movie1.GetMaxBytesLoaded() +"\n" )
}
</script>
Lite drygt att ta reda på vilket som var rad 81. Men det ska vara den med fet stil ovan.
pettssonMedlem sedan jan. 2002777 inlägg
Misstänker att detta, infogat på rätt rader kommer avhjälpa det hela: ";;;;;" :stud
I javascript avslutar man rader med ;
mattiasnordinMedlem sedan maj 20012 062 inlägg
Har testat att lägga till alla ; men det hjälper inte.
Känns som att det tar någon sekund att ladda objektet och innan det är laddat så smäller skriptet. Men om man inte kan autoköra något med onLoad så vet jag inte hur jag ska kunna få det att fungera.... grrr....
Lös det åt mig så får ni det alternativa nobelpriset ;)
@ndersMedlem sedan juni 200026 914 inlägg
Lite drygt att ta reda på vilket som var rad 81.
Använd en webbläsare med en riktig javascriptavlusare (ex. Firefox) så är det mycket lättare att finna javascriptfel.
mattiasnordinMedlem sedan maj 20012 062 inlägg
Oki... ska testa. :)
Nu fick jag klippa och klistra lite.
pettssonMedlem sedan jan. 2002777 inlägg
Går det inte att sätta en onLoad event på filmspelaren då? Den borde inte gå igång innan hela filmen är laddad
mattiasnordinMedlem sedan maj 20012 062 inlägg
<EMBED onLoad="alert('test')" width="180" height="160"
autostart="true"
...
Verkar inte fungera. Hmmm... :)