不知大家注意到没有,鼠标放在网页的Flash上时,会出现个虚线框,并且有时还会显示'单击以激活并使用此控件'。这样给人感觉不是很好,不好,我们就要想办法去掉它。我整理了一下几个用Javascript实现此功能的方法,大家有兴趣可以看一下:
1.在页面中引入下面这段代码,页面上所有Flash在浏览时都不会在有虚线框:
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
1![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//*
2
xpengfee search from www at 2007-08-24
3
put it in your page,then the flash of the page will be no deshed
4
*/
5
var ie = (document.defaultCharset && document.getElementById && !window.home);
6
var opera9 = false;
7
if (ie)
8![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
9
//Check for ie 5.5 and exclude it from the script
10
var ver=navigator.appVersion.split("MSIE")
11
ver=parseFloat(ver[1])
12
ie = (ver >=6)
13
}
14
else if (navigator.userAgent.indexOf("Opera")!=-1)
15![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
16
//Check for Opera9 and include it in the ObjectSwap
17
var versionindex=navigator.userAgent.indexOf("Opera")+6
18
if (parseInt(navigator.userAgent.charAt(versionindex))>=9)
19
opera9 = true;
20
}
21
//Perform ObjectSwap if the browser is IE or Opera (if not just check flashVersion)
22
var oswap = (ie || opera9)
23![](/Images/OutliningIndicators/None.gif)
24
//Hide the object to prevent it from loading twice
25
if (oswap)
26![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
27
document.write ("<style id='hideObject'> object{display:none;} </style>");
28
}
29![](/Images/OutliningIndicators/None.gif)
30![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//*Replace all flash objects on the page with the same flash object,
31
by rewriting the outerHTML values
32
This bypasses the new IE ActiveX object activation issue*/
33
objectSwap = function()
34![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
35
if (!document.getElementsByTagName)
36![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
37
return;
38
}
39
//An array of ids for flash detection
40
var stripQueue = [];
41
//Get a list of all ActiveX objects
42
var objects = document.getElementsByTagName('object');
43
for (var i=0; i<objects.length; i++)
44![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
45
var o = objects[i];
46
var h = o.outerHTML;
47
//The outer html omits the param tags, so we must retrieve and insert these separately
48
var params = "";
49
var hasFlash = true;
50
for (var j = 0; j<o.childNodes.length; j++)
51![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
52
var p = o.childNodes[j];
53
if (p.tagName == "PARAM")
54![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
55
//Check for version first - applies to all browsers
56
//For this to work, a new param needs to be included in the object with the name "flashVersion" eg:
57
//<param name="flashVersion" value="7" />
58
if (p.name == "flashVersion")
59![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
60
hasFlash = detectFlash(p.value);
61
if (!hasFlash)
62![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
63
//Add the objects id to the list (create a new id if there's isn't one already)
64
o.id = (o.id == "") ? ("stripFlash"+i) : o.id;
65
stripQueue.push(o.id);
66
break;
67
}
68
}
69
params += p.outerHTML;
70
}
71
}
72
if (!hasFlash)
73![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
74
continue;
75
}
76
//Only target internet explorer
77
if (!oswap)
78![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
79
continue;
80
}
81
//Avoid specified objects, marked with a "noswap" classname
82
if (o.className.toLowerCase().indexOf ("noswap") != -1)
83![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
84
continue;
85
}
86
//Get the tag and attributes part of the outer html of the object
87
var tag = h.split(">")[0] + ">";
88
//Add up the various bits that comprise the object:
89
//The tag with the attributes, the params and it's inner html
90
var newObject = tag + params + o.innerHTML + " </OBJECT>";
91
//And rewrite the outer html of the tag
92
o.outerHTML = newObject;
93
}
94
//Strip flash objects
95
if (stripQueue.length)
96![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
97
stripFlash(stripQueue)
98
}
99
//Make the objects visible again
100
if (oswap)
101![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
102
document.getElementById("hideObject").disabled = true;
103
}
104
}
105![](/Images/OutliningIndicators/None.gif)
106
detectFlash = function(version)
107![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
108
if(navigator.plugins && navigator.plugins.length)
109![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
110
//Non-IE flash detection.
111
var plugin = navigator.plugins["Shockwave Flash"];
112
if (plugin == undefined)
113![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
114
return false;
115
}
116
var ver = navigator.plugins["Shockwave Flash"].description.split(" ")[2];
117
return (Number(ver) >= Number(version))
118
} else if (ie && typeof (ActiveXObject) == "function")
119![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
120
//IE flash detection.
121
try
122![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
123
var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + version);
124
return true;
125
}
126
catch(e)
127![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
128
return false;
129
}
130
}
131
//Catchall - skip detection
132
return true;
133
}
134![](/Images/OutliningIndicators/None.gif)
135
//Loop through an array of ids to strip
136
//Replace the object by a div tag containing the same innerHTML.
137
//To display an alternative image, message for the user or a link to the flash installation page, place it inside the object tag.
138
//For the usual object/embed pairs it needs to be enclosed in comments to hide from gecko based browsers.
139
stripFlash = function (stripQueue)
140![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
141
if (!document.createElement)
142![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
143
return;
144
}
145
for (var i=0; i<stripQueue.length; i++)
146![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
147
var o = document.getElementById(stripQueue[i]);
148
var newHTML = o.innerHTML;
149
//Strip the comments
150
newHTML = newHTML.replace(/<!--\s/g, "");
151
newHTML = newHTML.replace(/\s-->/g, "");
152
//Neutralise the embed tag
153
newHTML = newHTML.replace(/<embed/gi, "<span");
154
//Create a new div element with properties from the object
155
var d = document.createElement("div");
156
d.innerHTML = newHTML;
157
d.className = o.className;
158
d.id = o.id;
159
//And swap the object with the new div
160
o.parentNode.replaceChild(d, o);
161
}
162
}
163![](/Images/OutliningIndicators/None.gif)
164
//Initiate the function without conflicting with the window.onload event of any preceding scripts
165
var tempFunc = window.onload;
166
window.onload = function()
167![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
168
if (typeof (tempFunc) == "function")
169![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
170
try
171![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
172
tempFunc();
173
}
174![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
catch(e)
{}
175
}
176
objectSwap();
177
}
2.这个来源与codeproject,我在开始处放上了示例代码
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
1![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//**
2
xpengfee search it from http://www.codeproject.com at 2007-08-24
3
The place which you put flash,replace it with the code below
4
5
<SCRIPT LANGUAGE=JavaScript src='InsertFlash.js'></script>
6
<DIV id="ad60493"></div>
7
<SCRIPT LANGUAGE=JavaScript>
8
ActivateFlash('ad60493',FlashAdText('/script/admentor/images/Dundas_Chart_468x60.swf',
9
'http://www.codeproject.com/specials.asp?id=3025',
10
'/script/admentor/images/Dundas_Chart_468x60v2.gif',
11
468,60));
12
</script>
13
*/
14
var FlashDetected = 0;
15
if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] &&
16![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)
{
17
if (navigator.plugins && navigator.plugins["Shockwave Flash"])
18
FlashDetected = 1;
19
}
20
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 &&
21
(navigator.userAgent.indexOf("Windows 95")>=0 ||
22
navigator.userAgent.indexOf("Windows 98")>=0 ||
23![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
navigator.userAgent.indexOf("Windows NT")>=0))
{
24
document.write('<SCRIPT LANGUAGE=VBScript\> \n');
25
document.write('on error resume next \n');
26
document.write('FlashDetected = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3")))\n');
27
document.write('if ( FlashDetected <= 0 ) then FlashDetected = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4")))\n');
28
document.write('if ( FlashDetected <= 0 ) then FlashDetected = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))\n');
29
document.write('if ( FlashDetected <= 0 ) then FlashDetected = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6")))\n');
30
document.write('if ( FlashDetected <= 0 ) then FlashDetected = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7")))\n');
31
document.write('</SCRIPT\> \n');
32![](/Images/OutliningIndicators/InBlock.gif)
33
}
34![](/Images/OutliningIndicators/None.gif)
35
function FlashAdText(FlashAdMovie, FlashAdRedirURL, FlashAdAltImage, FlashAdSizeX, FlashAdSizeY)
36![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
37
var FlashAdText = '';
38![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if ( FlashDetected )
{
39
FlashAdText += '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
40
FlashAdText += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=3,0,0,0" ';
41
FlashAdText += ' WIDTH=' + FlashAdSizeX + ' HEIGHT=' + FlashAdSizeY + '>';
42
FlashAdText += '<PARAM NAME=movie VALUE="' + FlashAdMovie + '?clickTAG=' + FlashAdRedirURL + '&target=_blank">';
43
FlashAdText += '<PARAM NAME=quality VALUE=high>';
44
FlashAdText += ' <EMBED src="' + FlashAdMovie + '?clickTAG=' + FlashAdRedirURL + '&target=_blank" quality=high';
45
FlashAdText += ' WIDTH=' + FlashAdSizeX + ' HEIGHT=' + FlashAdSizeY;
46
FlashAdText += ' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">';
47
FlashAdText += ' </EMBED>';
48
FlashAdText += ' </OBJECT>';
49![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
} else if (!(navigator.appName && navigator.appName.indexOf("Netscape")>=0 && navigator.appVersion.indexOf("2.")>=0))
{
50
FlashAdText += '<a href="' + FlashAdRedirURL + '" target="_blank"><IMG SRC="' + FlashAdAltImage + '" WIDTH=' + FlashAdSizeX + ' HEIGHT=' + FlashAdSizeY + ' BORDER=0></a>';
51
}
52
return FlashAdText;
53
}
54![](/Images/OutliningIndicators/None.gif)
55
function ActivateFlash(DivID, text)
56![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
57
var d = document.getElementById(DivID);
58
if (d) d.innerHTML = text;
59
}
3.这个则是浏览
http://www.telerik.com网站时找到的
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
1![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//**
2
xpengfee search it from http://www.telerik.com at 2007-08-24
3
The place which you put flash,replace it with the code below
4
5
<script src='http://www.telerik.com/scripts/swfobject.js' type='text/javascript'></script>
6
<div id="flashcontent">This text is replaced by the Flash movie. </div>
7
{ 这一段相当于在为放置flash文件而准备的一个holder.为放入内容而准备的.如果你没有装flashplayer.那么里面的那行字会显示出来如显示为”This text is replaced by the Flash movie.”
8
如果你装了flashplayer,那这行字是不会显示的,同时它还有一个好处是你可以把这行内容变成的你搜索关键字,google会很容易搜到它的.呵呵,一举两得.}
9
<script type="text/javascript">
10
var so = new SWFObject("../images/menu-n.swf", "mymovie", "166", "219", "6", "#fff");
11
so.addParam("wmode", "opaque");
12
so.write("flashcontent");
13
</script>
14
15
* SWFObject v1.4.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
16
*
17
* SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
18
* http://www.opensource.org/licenses/mit-license.php
19
*
20
* **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
21
* legal reasons.
22
*/
23
if(typeof deconcept=="undefined")
24![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
25
var deconcept=new Object();
26
}
27
if(typeof deconcept.util=="undefined")
28![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
29
deconcept.util=new Object();
30
}
31
if(typeof deconcept.SWFObjectUtil=="undefined")
32![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
33
deconcept.SWFObjectUtil=new Object();
34
}
35
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b)
36![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
37![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(!document.getElementById)
{ return;}
38
this.DETECT_KEY=_b?_b:"detectflash";
39
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
40
this.params=new Object();
41
this.variables=new Object();
42
this.attributes=new Array();
43![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(_1)
{this.setAttribute("swf",_1);}
44![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(id)
{this.setAttribute("id",id);}
45![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(w)
{this.setAttribute("width",w);}
46![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(h)
{this.setAttribute("height",h);}
47![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(_5)
{this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
48
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();
49![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(c)
{this.addParam("bgcolor",c);}
50
var q=_8?_8:"high";
51
this.addParam("quality",q);
52
this.setAttribute("useExpressInstall",_7);
53
this.setAttribute("doExpressInstall",false);
54
var _d=(_9)?_9:window.location;
55
this.setAttribute("xiRedirectUrl",_d);
56
this.setAttribute("redirectUrl","");
57![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(_a)
{this.setAttribute("redirectUrl",_a);}
58
};
59![](/Images/OutliningIndicators/None.gif)
60
deconcept.SWFObject.prototype=
61![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
62
setAttribute:function(_e,_f)
63![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
64
this.attributes[_e]=_f;
65
},
66
getAttribute:function(_10)
67![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
68
return this.attributes[_10];
69
},
70
addParam:function(_11,_12)
71![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
72
this.params[_11]=_12;
73
},
74
getParams:function()
75![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
76
return this.params;
77
},
78
addVariable:function(_13,_14)
79![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
80
this.variables[_13]=_14;
81
},
82
getVariable:function(_15)
83![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
84
return this.variables[_15];
85
},
86
getVariables:function()
87![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
88
return this.variables;
89
},
90
getVariablePairs:function()
91![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
92
var _16=new Array();
93
var key;
94
var _18=this.getVariables();
95
for(key in _18)
96![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
97
_16.push(key+"="+_18[key]);
98
}
99
return _16;
100
},
101
getSWFHTML:function()
102![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
103
var _19="";
104
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length)
105![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
106
if(this.getAttribute("doExpressInstall"))
107![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
108
this.addVariable("MMplayerType","PlugIn");
109
}
110
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
111
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
112
var _1a=this.getParams();
113
for(var key in _1a)
114![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
115
_19+=[key]+"=\""+_1a[key]+"\" ";
116
}
117
var _1c=this.getVariablePairs().join("&");
118
if(_1c.length>0)
119![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
120
_19+="flashvars=\""+_1c+"\"";}_19+="/>";
121
}
122![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
else
{if(this.getAttribute("doExpressInstall"))
123![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
124
this.addVariable("MMplayerType","ActiveX");
125
}
126
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
127
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
128
var _1d=this.getParams();
129
for(var key in _1d)
130![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
131
_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";
132
}
133
var _1f=this.getVariablePairs().join("&");
134
if(_1f.length>0)
135![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
136
_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";
137
}
138
_19+="</object>";
139
}
140
return _19;
141
},
142
write:function(_20)
143![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
144
if(this.getAttribute("useExpressInstall"))
145![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
146
var _21=new deconcept.PlayerVersion([6,0,65]);
147
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version")))
148![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
149
this.setAttribute("doExpressInstall",true);
150
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
151
document.title=document.title.slice(0,47)+" - Flash Player Installation";
152
this.addVariable("MMdoctitle",document.title);
153
}
154
}
155
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version")))
156![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
157
var n=(typeof _20=="string")?document.getElementById(_20):_20;
158
n.innerHTML=this.getSWFHTML();
159
return true;
160
}
161
else
162![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
163
if(this.getAttribute("redirectUrl")!="")
164![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
165
document.location.replace(this.getAttribute("redirectUrl"));
166
}
167
}
168
return false;
169
}
170
};
171
deconcept.SWFObjectUtil.getPlayerVersion=function()
172![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
173
var _23=new deconcept.PlayerVersion([0,0,0]);
174
if(navigator.plugins&&navigator.mimeTypes.length)
175![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
176
var x=navigator.plugins["Shockwave Flash"];
177
if(x&&x.description)
178![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
179
_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));
180
}
181
}
182
else
183![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
184
try
185![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
186
var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
187
}
188
catch(e)
189![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
190
try
191![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
192
var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
193
_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";
194
}
195
catch(e)
196![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
197
if(_23.major==6)
198![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
199
return _23;
200
}
201
}
202
203
try
204![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
205
axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
206
}
207![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
catch(e)
{}
208
}
209
if(axo!=null)
210![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
211
_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
212
}
213
}
214
return _23;
215
};
216![](/Images/OutliningIndicators/None.gif)
217
deconcept.PlayerVersion=function(_27)
218![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
219
this.major=_27[0]!=null?parseInt(_27[0]):0;
220
this.minor=_27[1]!=null?parseInt(_27[1]):0;
221
this.rev=_27[2]!=null?parseInt(_27[2]):0;
222
};
223![](/Images/OutliningIndicators/None.gif)
224
deconcept.PlayerVersion.prototype.versionIsValid=function(fv)
225![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
226![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(this.major<fv.major)
{return false;}
227![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(this.major>fv.major)
{return true;}
228![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(this.minor<fv.minor)
{return false;}
229![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(this.minor>fv.minor)
{return true;}
230
if(this.rev<fv.rev)
231![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
232
return false;
233
}
234
return true;
235
};
236![](/Images/OutliningIndicators/None.gif)
237
deconcept.util=
238![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
239
getRequestParameter:function(_29)
240![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
241
var q=document.location.search||document.location.hash;
242
if(q)
243![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
244
var _2b=q.substring(1).split("&");
245
for(var i=0;i<_2b.length;i++)
246![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
247
if(_2b[i].substring(0,_2b[i].indexOf("="))==_29)
248![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
249
return _2b[i].substring((_2b[i].indexOf("=")+1));
250
}
251
}
252
}
253
return "";
254
}
255
};
256![](/Images/OutliningIndicators/None.gif)
257
deconcept.SWFObjectUtil.cleanupSWFs=function()
258![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
259![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(window.opera||!document.all)
{return;}
260
var _2d=document.getElementsByTagName("OBJECT");
261
for(var i=0;i<_2d.length;i++)
262![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
263
_2d[i].style.display="none";for(var x in _2d[i])
264![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
265
if(typeof _2d[i][x]=="function")
266![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
267![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
_2d[i][x]=function()
{};
268
}
269
}
270
}
271
};
272![](/Images/OutliningIndicators/None.gif)
273
deconcept.SWFObjectUtil.prepUnload=function()
274![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
275![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
__flash_unloadHandler=function()
{};
276![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
__flash_savedUnloadHandler=function()
{};
277
if(typeof window.onunload=="function")
278![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
279
var _30=window.onunload;
280
window.onunload=function()
281![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
282
deconcept.SWFObjectUtil.cleanupSWFs();
283
_30();
284
};
285
}
286
else
287![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
288
window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;
289
}
290
};
291![](/Images/OutliningIndicators/None.gif)
292
if(typeof window.onbeforeunload=="function")
293![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
294
var oldBeforeUnload=window.onbeforeunload;
295
window.onbeforeunload=function()
296![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
297
deconcept.SWFObjectUtil.prepUnload();
298
oldBeforeUnload();
299
};
300
}
301
else
302![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
303
window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;
304
}
305
if(Array.prototype.push==null)
306![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
307
Array.prototype.push=function(_31)
308![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
309
this[this.length]=_31;
310
return this.length;
311
};
312
}
313
var getQueryParamValue=deconcept.util.getRequestParameter;
314
var FlashObject=deconcept.SWFObject;
315
var SWFObject=deconcept.SWFObject;