Hi,
I'm trying to embed a flex swf into my app without using document.write().
Instead I want to use the standard Ajax technique of setting the innerHTML
property on a <div> object, like so:
varflexObjTag =AC_FL_RunContent(...args...);
$('flexDiv').innerHTML = flashObjTag;
To do this, I modified these functions from AC_OETags.js like so:
function AC_Generateobj(objAttrs, params, embedAttrs)
{
var str = '';
if (isIE && isWin && !isOpera)
{
str +='<object ';
for (var i in objAttrs)
str += i + '="' + objAttrs[i] + '" ';
str += '>';
for (var i in params)
str +='<param name="'+i +'" value="'+params[i]+'" /> ';
str +='</object>';
} else {
str += '<embed ';
for (var i in embedAttrs)
str += i + '="' + embedAttrs[i] + '" ';
str +='> </embed>';
}
return str;
}
function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
,"application/x-shockwave-flash"
);
return AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
This works fine in Firefox and Safari, but not in IE7. I'm getting the
following error:
try {
document.getElementById("graph_div").SetReturnValue(__flash__toXML(FABridge__bridgeInitialized(["flash"]))
); } catch (e) {
document.getElementById("graph_div").SetReturnValue("<undefined/>"); }
Any advice would be greatly appreciated!
- Michael