root / trunk / web / dojo / dojox / embed / Quicktime.js
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 | } |