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

Reply via email to