Avatar billede hoppe11 Nybegynder
03. juni 2007 - 19:33 Der er 2 kommentarer og
1 løsning

import flash.external - virker ikke i FF

Jeg har nu siddet og rodet med en swf hele weekenden og finder pludselig ud af at en del ikke virker i Firefox - en ret vigtig del endda :-/

Jeg skal importere noget data i min flash og gør som nedenfor.. Det virker som sagt fint i IE, men når jeg kommer til FF sker der intet.. Nogen som kan sige mig hvad der er galt eller hvad der skal ændres??

flash:
----------------
var txt = _root.createTextField('txt', _root.getNextHighestDepth(), 10, 20, 0, 0);
txt.autoSize = true;

var i = 0;

import flash.external.*;
ExternalInterface.addCallback('import_data', null, import_data);
function import_data(type, data)
{
    if(type == 'login')
    {
        i++;
        txt.text = i;
    }
}

java script:
--------------
function data2swf(type, data)
{
    document.getElementById('swf_top').import_data(type, data);
}

top.frame_top.data2swf('login', false);
Avatar billede hoppe11 Nybegynder
05. juni 2007 - 23:55 #1
ingen som kan hjælpe?

her er hele koden

Flash:
--------------------------------------------------
var txt = _root.createTextField('txt', _root.getNextHighestDepth(), 10, 20, 0, 0);
txt.autoSize = true;
txt.text = 'start';

import flash.external.*;
ExternalInterface.addCallback('import_data', null, import_data);
function import_data(type, data)
{
txt.text = data;
}

HTML:
-------------------------------------------------
<script language="javascript" type="text/javascript">
function data2swf(type, data)
{
document.getElementById('swf_top').import_data(type, data);
}
</script>

<object id="swf_top" style="width:200px; height:200px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
<param name="movie" value="tst.swf">
<param name="flashvars" value="LOGGED=<?=$flashvar?>">
<param name="quality" value="high">
<param name="scale" value="exactfit">
<param name="wmode" value="transparent">
<embed width="200" height="200" src="tst.swf" flashvars="LOGGED=<?=$flashvar?>" quality="high" scale="exactfit" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</object>

<input type="button" value="tst" onclick="data2swf('typen', 'dataen')">
Avatar billede hoppe11 Nybegynder
07. juni 2007 - 19:31 #2
Jeg har nu fra AS forsøgt at kalde en JS funktion og som returnerer et resultat tilbage til AS:
AS > JS > AS

Det virker fint i både IE og FF

Men jeg kan stadig ikke kalde en AS funktion via JS i FF.. Det virker som sagt i IE, men bare ikke i FF:
JS > AS > JS

Man skulle tro at det måske var fordi mit javascript ikke "finder" mit swf objekt på siden..

Håber virkelig der er nogen som kan hjælpe mig! :-/

Flash:
------------------
var call_return = _root.createTextField('call_return', _root.getNextHighestDepth(), 10, 20, 0, 0);
call_return.autoSize = true;

var callback_return = _root.createTextField('callback_return', _root.getNextHighestDepth(), 10, 40, 0, 0);
callback_return.autoSize = true;
callback_return.text = 'awaiting callback...';

import flash.external.*;
if(!ExternalInterface.available) {
    /*
    Error: External API is not available in the current browser
   
    The External API is available in
    - Firefox 1.0 and later
    - Mozilla 1.7.5 and later
    - Netscape 8.0 and later
    - Safari 1.3 and later
    */
}

call_return.text = ExternalInterface.call('call_return', 2, 90);

ExternalInterface.addCallback('myFunction', null, callback);

function callback(name) {
    name = 'Hi '+name;
    callback_return.text = name;
    return name;
}

HTML:
----------------
<script language="javascript" type="text/javascript">
function call_return(num1, num2) {
    return (num1 + num2);
}
</script>

<object id="swf_top" style="width:200px; height:200px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
<param name="movie" value="tst.swf">
<embed width="200" height="200" src="tst.swf" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</object>

<input type="button" value="callback" onclick="alert(document.getElementById('swf_top').myFunction('hoppe11'))">
Avatar billede hoppe11 Nybegynder
08. juni 2007 - 16:55 #3
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester