# Trying to use swf object, works on firefox and safari, but not IE

**URL:** <https://forum.kirupa.com/t/trying-to-use-swf-object-works-on-firefox-and-safari-but-not-ie/232935>\
**Category:** Uncategorized\
**Created:** [July 18, 2007, 8:47pm UTC](https://forum.kirupa.com/t/trying-to-use-swf-object-works-on-firefox-and-safari-but-not-ie/232935 "2007-07-18T20:47:01Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dtrace](https://avatars.discourse-cdn.com/v4/letter/d/59ef9b/32.png) [@dtrace](https://forum.kirupa.com/u/dtrace)\
**Post date:** [July 18, 2007, 8:47pm UTC](https://forum.kirupa.com/t/trying-to-use-swf-object-works-on-firefox-and-safari-but-not-ie/232935/1 "2007-07-18T20:47:01Z")

</div>

[http://leereedy.com/sourcy/track/true.html](http://leereedy.com/sourcy/track/true.html)  
Basically, I’m losing my mind on this issue. I have a splash page (true.html)that automatically launches a full screen pop up (southafrican.html).  
I didn’t want the ‘click to activate’ thing, so i tried using the swf object method, but I guess something is wrong, cause it is doing something random on IE right now. I can hear the audio, but can’t see anything. It works on firefox and safari (for PC). If you have a mac, please let me know if it is working on that.  
The following is the code I’m using, and would be grateful for any help.  
Also, do I still need to use the active run content thingy? What does that even do?  
The true.html …(splash page).  
\<html xmlns=“[http://www.w3.org/1999/xhtml](http://www.w3.org/1999/xhtml)” xml:lang=“en” lang=“en”\>  
\<head\>  
\<meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1” /\>  
\<title\>whygod\</title\>  
\</head\>  
\<center\>  
\<body bgcolor="#ffffff"\>  
\<!–url’s used in the movie–\>  
\<a href=“javascript:NewWindow=window.open(‘southafrican.html’,‘newWin’,‘width=’+screen.availWidth+’,height=’+screen.availHeight+’,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No’); NewWindow.focus(); void(0);”\>\</a\>  
\<!–text used in the movie–\>  
\<!-- saved from url=(0013)about:internet --\>  
\<script type=“text/javascript” src=“flashobject.js”\>\</script\>  
\<div id=“flashcontent” style=“width: 550px; height: 400px”\>\</div\>  
\<script type=“text/javascript”\>  
var fo = new FlashObject(“whygod.swf”, “animationName”, “550”, “400”, “8”, “#FFFFFF”);  
fo.addParam(“allowScriptAccess”, “sameDomain”);  
fo.addParam(“quality”, “high”);  
fo.addParam(“scale”, “noscale”);  
fo.addParam(“loop”, “false”);  
fo.write(“flashcontent”);  
\</script\>  
\</body\>  
\</center\>  
\</html\>

* * *

The pop up…(southafrican.html)  
\<html xmlns=“[http://www.w3.org/1999/xhtml](http://www.w3.org/1999/xhtml)” xml:lang=“en” lang=“en”\>  
\<head\>  
\<meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1” /\>  
\<title\>myfile\</title\>  
\</head\>  
\<center\>  
\<BODY bgcolor="#000000" MARGINHEIGHT=“0” MARGINWIDTH=“0” TOPMARGIN=“0” LEFTMARGIN=“0” RIGHTMARGIN=“0” BOTTOMMARGIN=“0” SCROLL=“NO”\>  
\<body bgcolor="#000000"\>  
\<script type=“text/javascript” src=“flashobject.js”\>\</script\>  
\<div id=“flashcontent” style=“width: 100%; height: 100%”\>\</div\>  
\<script type=“text/javascript”\>  
var fo = new FlashObject(“myfile.swf”, “animationName”, “100%”, “100%”, “8”, “#FFFFFF”);  
fo.addParam(“allowScriptAccess”, “sameDomain”);  
fo.addParam(“quality”, “high”);  
fo.addParam(“scale”, “noscale”);  
fo.addParam(“loop”, “false”);  
fo.write(“flashcontent”);  
\</script\>  
\<!–url’s used in the movie–\>  
\<!–text used in the movie–\>  
\<!-- saved from url=(0013)about:internet --\>  
\</body\>  
\</center\>  
\</html\>

* * *

and here is the flash object js…

/\*\*

- FlashObject v1.2.3: Flash detection and embed - [http://blog.deconcept.com/flashobject/](http://blog.deconcept.com/flashobject/)
- 
- FlashObject is © 2005 Geoff Stearns and is released under the MIT License:
- [http://www.opensource.org/licenses/mit-license.php](http://www.opensource.org/licenses/mit-license.php)
- 

_/  
if(typeof com == “undefined”) var com = new Object();  
if(typeof com.deconcept == “undefined”) com.deconcept = new Object();  
if(typeof com.deconcept.util == “undefined”) com.deconcept.util = new Object();  
if(typeof com.deconcept.FlashObjectUtil == “undefined”) com.deconcept.FlashObjectUtil = new Object();  
com.deconcept.FlashObject = function(swf, id, w, h, ver, c, useExpressInstall, quality, redirectUrl, detectKey){  
this.DETECT\_KEY = detectKey ? detectKey : ‘detectflash’;  
this.skipDetect = com.deconcept.util.getRequestParameter(this.DETECT\_KEY);  
this.params = new Object();  
this.variables = new Object();  
this.attributes = new Array();  
if(swf) this.setAttribute(‘swf’, swf);  
if(id) this.setAttribute(‘id’, id);  
if(w) this.setAttribute(‘width’, w);  
if(h) this.setAttribute(‘height’, h);  
if(ver) this.setAttribute(‘version’, new com.deconcept.PlayerVersion(ver.toString().split(".")));  
if© this.addParam(‘bgcolor’, c);  
var q = quality ? quality : ‘high’;  
this.addParam(‘quality’, q);  
this.setAttribute(‘redirectUrl’, ‘’);  
if(redirectUrl) this.setAttribute(‘redirectUrl’, redirectUrl);  
if(useExpressInstall) {  
// check to see if we need to do an express install  
var expressInstallReqVer = new com.deconcept.PlayerVersion([6,0,65]);  
var installedVer = com.deconcept.FlashObjectUtil.getPlayerVersion();  
if (installedVer.versionIsValid(expressInstallReqVer) && !installedVer.versionIsValid(this.getAttribute(‘version’))) {  
this.setAttribute(‘doExpressInstall’, true);  
}  
} else {  
this.setAttribute(‘doExpressInstall’, false);  
}  
}  
com.deconcept.FlashObject.prototype.setAttribute = function(name, value){  
this.attributes[name] = value;  
}  
com.deconcept.FlashObject.prototype.getAttribute = function(name){  
return this.attributes[name];  
}  
com.deconcept.FlashObject.prototype.getAttributes = function(){  
return this.attributes;  
}  
com.deconcept.FlashObject.prototype.addParam = function(name, value){  
this.params[name] = value;  
}  
com.deconcept.FlashObject.prototype.getParams = function(){  
return this.params;  
}  
com.deconcept.FlashObject.prototype.getParam = function(name){  
return this.params[name];  
}  
com.deconcept.FlashObject.prototype.addVariable = function(name, value){  
this.variables[name] = value;  
}  
com.deconcept.FlashObject.prototype.getVariable = function(name){  
return this.variables[name];  
}  
com.deconcept.FlashObject.prototype.getVariables = function(){  
return this.variables;  
}  
com.deconcept.FlashObject.prototype.getParamTags = function(){  
var paramTags = “”; var key; var params = this.getParams();  
for(key in params) {  
paramTags += ‘\<param name="’ + key + ‘" value="’ + params[key] + ‘" /\>’;  
}  
return paramTags;  
}  
com.deconcept.FlashObject.prototype.getVariablePairs = function(){  
var variablePairs = new Array();  
var key;  
var variables = this.getVariables();  
for(key in variables){  
variablePairs.push(key +"="+ variables[key]);  
}  
return variablePairs;  
}  
com.deconcept.FlashObject.prototype.getHTML = function() {  
var flashHTML = “”;  
if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture  
if (this.getAttribute(“doExpressInstall”)) { this.addVariable(“MMplayerType”, “PlugIn”); }  
flashHTML += ‘\<embed type=“application/x-shockwave-flash” src="’+ this.getAttribute(‘swf’) +’" width="’+ this.getAttribute(‘width’) +’" height="’+ this.getAttribute(‘height’) +’" id="’+ this.getAttribute(‘id’) + ‘" name="’+ this.getAttribute(‘id’) +’"’;  
var params = this.getParams();  
for(var key in params){ flashHTML += ’ ‘+ key +’="’+ params[key] +’"’; }  
pairs = this.getVariablePairs().join("&");  
if (pairs.length \> 0){ flashHTML += ’ flashvars="’+ pairs +’"’; }  
flashHTML += ‘\>\</embed\>’;  
} else { // PC IE  
if (this.getAttribute(“doExpressInstall”)) { this.addVariable(“MMplayerType”, “ActiveX”); }  
flashHTML += ‘\<object classid=“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000” width="’+ this.getAttribute(‘width’) +’" height="’+ this.getAttribute(‘height’) +’" id="’+ this.getAttribute(‘id’) +’"\>’;  
flashHTML += ‘\<param name=“movie” value="’ + this.getAttribute(‘swf’) + ‘" /\>’;  
var tags = this.getParamTags();  
if(tags.length \> 0){ flashHTML += tags; }  
var pairs = this.getVariablePairs().join("&");  
if(pairs.length \> 0){ flashHTML += ‘\<param name=“flashvars” value="’+ pairs +’" /\>’; }  
flashHTML += ‘\</object\>’;  
}  
return flashHTML;  
}  
com.deconcept.FlashObject.prototype.write = function(elementId){  
if(this.skipDetect || this.getAttribute(‘doExpressInstall’) || com.deconcept.FlashObjectUtil.getPlayerVersion().versionIsValid(this.getAttribute(‘version’))){  
if(document.getElementById){  
if (this.getAttribute(‘doExpressInstall’)) {  
this.addVariable(“MMredirectURL”, escape(window.location));  
document.title = document.title.slice(0, 47) + " - Flash Player Installation";  
this.addVariable(“MMdoctitle”, document.title);  
}  
document.getElementById(elementId).innerHTML = this.getHTML();  
}  
}else{  
if(this.getAttribute(‘redirectUrl’) != “”) {  
document.location.replace(this.getAttribute(‘redirectUrl’));  
}  
}  
}  
/_ ---- detection functions ---- _/  
com.deconcept.FlashObjectUtil.getPlayerVersion = function(){  
var PlayerVersion = new com.deconcept.PlayerVersion(0,0,0);  
if(navigator.plugins && navigator.mimeTypes.length){  
var x = navigator.plugins[“Shockwave Flash”];  
if(x && x.description) {  
PlayerVersion = new com.deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/, “”).replace(/(\s+r|\s+b[0-9]+)/, “.”).split("."));  
}  
}else if (window.ActiveXObject){  
try {  
var axo = new ActiveXObject(“ShockwaveFlash.ShockwaveFlash”);  
PlayerVersion = new com.deconcept.PlayerVersion(axo.GetVariable("$version").split(" “)[1].split(”,"));  
} catch (e) {}  
}  
return PlayerVersion;  
}  
com.deconcept.PlayerVersion = function(arrVersion){  
this.major = parseInt(arrVersion[0]) || 0;  
this.minor = parseInt(arrVersion[1]) || 0;  
this.rev = parseInt(arrVersion[2]) || 0;  
}  
com.deconcept.PlayerVersion.prototype.versionIsValid = function(fv){  
if(this.major \< fv.major) return false;  
if(this.major \> fv.major) return true;  
if(this.minor \< fv.minor) return false;  
if(this.minor \> fv.minor) return true;  
if(this.rev \< fv.rev) return false;  
return true;  
}  
/_ ---- get value of query string param ---- _/  
com.deconcept.util.getRequestParameter = function(param){  
var q = document.location.search || document.location.href.hash;  
if(q){  
var startIndex = q.indexOf(param +"=");  
var endIndex = (q.indexOf("&", startIndex) \> -1) ? q.indexOf("&", startIndex) : q.length;  
if (q.length \> 1 && startIndex \> -1) {  
return q.substring(q.indexOf("=", startIndex)+1, endIndex);  
}  
}  
return “”;  
}  
/_ add Array.push if needed (ie5) _/  
if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}  
/_ add some aliases for ease of use / backwards compatibility \*/  
var getQueryParamValue = com.deconcept.util.getRequestParameter;  
var FlashObject = com.deconcept.FlashObject;
