root / trunk / web / dojo / dojox / embed / Quicktime.js @ 11
History | View | Annotate | Download (3.57 KB)
| 1 | 9 | andrej.cim | /*
|
|---|---|---|---|
| 2 | Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
||
| 3 | Available via Academic Free License >= 2.1 OR the modified BSD license.
|
||
| 4 | see: http://dojotoolkit.org/license for details
|
||
| 5 | */
|
||
| 6 | |||
| 7 | |||
| 8 | if(!dojo._hasResource["dojox.embed.Quicktime"]){ |
||
| 9 | dojo._hasResource["dojox.embed.Quicktime"]=true; |
||
| 10 | dojo.provide("dojox.embed.Quicktime");
|
||
| 11 | (function(d){
|
||
| 12 | var _1,_2={major:0,minor:0,rev:0},_3,_4={width:320,height:240,redirect:null},_5="dojox-embed-quicktime-",_6=0,_7="This content requires the <a href=\"http://www.apple.com/quicktime/download/\" title=\"Download and install QuickTime.\">QuickTime plugin</a>."; |
||
| 13 | function _8(_9){ |
||
| 14 | _9=d.mixin(d.clone(_4),_9||{});
|
||
| 15 | if(!("path" in _9)&&!_9.testing){ |
||
| 16 | console.error("dojox.embed.Quicktime(ctor):: no path reference to a QuickTime movie was provided.");
|
||
| 17 | return null; |
||
| 18 | } |
||
| 19 | if(_9.testing){
|
||
| 20 | _9.path="";
|
||
| 21 | } |
||
| 22 | if(!("id" in _9)){ |
||
| 23 | _9.id=_5+_6++; |
||
| 24 | } |
||
| 25 | return _9;
|
||
| 26 | }; |
||
| 27 | if(d.isIE){
|
||
| 28 | _3=(function(){
|
||
| 29 | try{
|
||
| 30 | var o=new ActiveXObject("QuickTimeCheckObject.QuickTimeCheck.1"); |
||
| 31 | if(o!==undefined){ |
||
| 32 | var v=o.QuickTimeVersion.toString(16); |
||
| 33 | function p(i){ |
||
| 34 | return (v.substring(i,i+1)-0)||0; |
||
| 35 | }; |
||
| 36 | _2={major:p(0),minor:p(1),rev:p(2)};
|
||
| 37 | return o.IsQuickTimeAvailable(0); |
||
| 38 | } |
||
| 39 | } |
||
| 40 | catch(e){
|
||
| 41 | } |
||
| 42 | return false; |
||
| 43 | })(); |
||
| 44 | _1=function(_a){ |
||
| 45 | if(!_3){
|
||
| 46 | return {id:null,markup:_7}; |
||
| 47 | } |
||
| 48 | _a=_8(_a); |
||
| 49 | if(!_a){
|
||
| 50 | return null; |
||
| 51 | } |
||
| 52 | var s="<object classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" "+"codebase=\"http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0\" "+"id=\""+_a.id+"\" "+"width=\""+_a.width+"\" "+"height=\""+_a.height+"\">"+"<param name=\"src\" value=\""+_a.path+"\"/>"; |
||
| 53 | for(var p in _a.params||{}){ |
||
| 54 | s+="<param name=\""+p+"\" value=\""+_a.params[p]+"\"/>"; |
||
| 55 | } |
||
| 56 | s+="</object>";
|
||
| 57 | return {id:_a.id,markup:s}; |
||
| 58 | }; |
||
| 59 | }else{
|
||
| 60 | _3=(function(){
|
||
| 61 | for(var i=0,p=navigator.plugins,l=p.length;i<l;i++){ |
||
| 62 | if(p[i].name.indexOf("QuickTime")>-1){ |
||
| 63 | return true; |
||
| 64 | } |
||
| 65 | } |
||
| 66 | return false; |
||
| 67 | })(); |
||
| 68 | _1=function(_b){ |
||
| 69 | if(!_3){
|
||
| 70 | return {id:null,markup:_7}; |
||
| 71 | } |
||
| 72 | _b=_8(_b); |
||
| 73 | if(!_b){
|
||
| 74 | return null; |
||
| 75 | } |
||
| 76 | var s="<embed type=\"video/quicktime\" src=\""+_b.path+"\" "+"id=\""+_b.id+"\" "+"name=\""+_b.id+"\" "+"pluginspage=\"www.apple.com/quicktime/download\" "+"enablejavascript=\"true\" "+"width=\""+_b.width+"\" "+"height=\""+_b.height+"\""; |
||
| 77 | for(var p in _b.params||{}){ |
||
| 78 | s+=" "+p+"=\""+_b.params[p]+"\""; |
||
| 79 | } |
||
| 80 | s+="></embed>";
|
||
| 81 | return {id:_b.id,markup:s}; |
||
| 82 | }; |
||
| 83 | } |
||
| 84 | dojox.embed.Quicktime=function(_c,_d){ |
||
| 85 | return dojox.embed.Quicktime.place(_c,_d);
|
||
| 86 | }; |
||
| 87 | d.mixin(dojox.embed.Quicktime,{minSupported:6,available:_3,supported:_3,version:_2,initialized:false,onInitialize:function(){
|
||
| 88 | dojox.embed.Quicktime.initialized=true;
|
||
| 89 | },place:function(_e,_f){ |
||
| 90 | var o=_1(_e);
|
||
| 91 | if(!(_f=d.byId(_f))){
|
||
| 92 | _f=d.create("div",{id:o.id+"-container"},d.body()); |
||
| 93 | } |
||
| 94 | if(o){
|
||
| 95 | _f.innerHTML=o.markup; |
||
| 96 | if(o.id){
|
||
| 97 | return d.isIE?d.byId(o.id):document[o.id];
|
||
| 98 | } |
||
| 99 | } |
||
| 100 | return null; |
||
| 101 | }}); |
||
| 102 | if(!d.isIE){
|
||
| 103 | var id="-qt-version-test",o=_1({testing:true,width:4,height:4}),c=10,top="-1000px",_10="1px"; |
||
| 104 | function _11(){ |
||
| 105 | setTimeout(function(){
|
||
| 106 | var qt=document[o.id],n=d.byId(id);
|
||
| 107 | if(qt){
|
||
| 108 | try{
|
||
| 109 | var v=qt.GetQuickTimeVersion().split("."); |
||
| 110 | dojox.embed.Quicktime.version={major:parseInt(v[0]||0),minor:parseInt(v[1]||0),rev:parseInt(v[2]||0)};
|
||
| 111 | if(dojox.embed.Quicktime.supported=v[0]){ |
||
| 112 | dojox.embed.Quicktime.onInitialize(); |
||
| 113 | } |
||
| 114 | c=0;
|
||
| 115 | } |
||
| 116 | catch(e){
|
||
| 117 | if(c--){
|
||
| 118 | _11(); |
||
| 119 | } |
||
| 120 | } |
||
| 121 | } |
||
| 122 | if(!c&&n){
|
||
| 123 | d.destroy(n); |
||
| 124 | } |
||
| 125 | },20);
|
||
| 126 | }; |
||
| 127 | if(d._initFired){
|
||
| 128 | d.create("div",{innerHTML:o.markup,id:id,style:{top:top,left:0,width:_10,height:_10,overflow:"hidden",position:"absolute"}},d.body()); |
||
| 129 | }else{
|
||
| 130 | document.write("<div style=\"top:"+top+";left:0;width:"+_10+";height:"+_10+";overflow:hidden;position:absolute\" id=\""+id+"\">"+o.markup+"</div>"); |
||
| 131 | } |
||
| 132 | _11(); |
||
| 133 | }else{
|
||
| 134 | if(d.isIE&&_3){
|
||
| 135 | dojox.embed.Quicktime.onInitialize(); |
||
| 136 | } |
||
| 137 | } |
||
| 138 | })(dojo); |
||
| 139 | } |