root / trunk / web / dojo / dojox / embed / Quicktime.js @ 13
History | View | Annotate | Download (3.57 KB)
| 1 |
/*
|
|---|---|
| 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 |
} |