Calling a function in Flash via JavaScript

My project is in Flash CS3 ActionScript 2. I am using
JavaScript elements in my project that are called within Flash. The
following code placed on frame 1 of my main timeline goes to frame
2 and displays the JavaScript element = that works. Here's the
code;
HS_Film_Button.onRelease = function ()
gotoAndStop(2);
flash.external.ExternalInterface.call("firehs");
Now when on frame 2, I want the JavaScript "close button" in
the element to go to frame 1 on my Flash main timeline. Right now
what it does is closing itself in frame 2 of my Flash page, so I
added a flash button in there to go to frame 1. Thus the need to
double click to finally end up on frame 1. But I want the
JavaScript element to do that in the first place!
The real issue here is that the JavaScript element was once
on my main single frame timeline but its performance (display speed
and such) was greatly affected by my Flash Time and Date and Frame
rate calculations. This JavaScript element is based on miliseconds
and I suspect that my Flash file is based in seconds and that my
Flash calculations are grabbed by the Browser and directing my
JavaScript element.....Hey I am getting lost I hope you kind of see
what I mean. Anyways, if I could just get rid of frame 2 all
together and have some kind of coding that would eighther have
Flash calculate in miliseconds rather than seconds????? to match my
JavaScript one.... Or codify JavaScript so that when called it
would take over and tell the Browser to change its calculations
rates?
If you wish please have a look at the Forum topic postings
where all of this is evolving with questions examples and
answers....This link gets you right in the posting.
Highslide
JS Forum
This is where Flash meets JavaScript! I need help please.
Kind Regards
Pierre

Hi, Since your reply I have been trying to follow your
direction and found a couple of things,
My flash site is based on the AC_FL_RunContent JS file
not the
<object classid= ..............>
<param name="allowScriptAccess" value="
sameDomain" /> which element in bold should probably be
repalced by "always" for the externalinterface addCallback() to
work properly. The question being what code I have to ad to the
AC_FL_RunContent JS file for allowScriptAccess.......
quote:
ExternalInterface is similar in functionality to the
CallFrame() method but is more flexible and more generally
applicable. ExternalInterface is the preferred method for
JavaScript–ActionScript communication in Flash Player 8 and
later.
So I see I could use externalinterface addCallFrame() for
achieving Javascript to ActionScript communication ; when
Javascript close button is pressed Flash goes to frame 1........
The latest hint I got from Highslide JS was to add the
following in the Head section;
<script type="text/javascript">
hs.Expander.prototype.onBeforeClose = function (sender) {
return confirm("Do you really want to close this nice
image?");
</script>
The line in bold should be the code to call to go to frame 1
in Flash and the onBeforeClose should probably be onAfterClose.
Anyways, I am completely lost in space = could you really hep
me out with this code by code and where to put those exact
codes.....please
Pierre

Similar Messages

  • Call Plugin-Function with parameters via JavaScript

    Hi!
    I have following problem: I wrote a plugin for Illustrator CS2 in C++ and now I would like to call a function of the plugin from outside of illustrator (from a JavaScript).
    This can be done with the Actionsuite. But how could I then give some parameters to my function?
    For example:
    In the plugin, I have a function "void myFun(char * test)" and I want to call this function in JavaScript with test="Hello World" for example.
    The only possible way right now seems to write parameters into a file and open that file in the plugin to "receive" them.

    Hi,
    Could you send your plugin coding.
    Regards,
    Maria

  • How to call java function with parameter from javascript in adf mobile?

    how to call java function with parameter from javascript in adf mobile?

    The ADF Mobile Container Utilities API may be used from JavaScript or Java.
    Application Container APIs - 11g Release 2 (11.1.2.4.0)

  • Calling C++ functions by Java via CORBA?

    Hello,
    I am interested in source code examples of calling C++ functions by Java via CORBA. For example the client is in Java and the server is in C++. Is it posible that the IDL compiler can generate "java" client stubs and "c++" server sceleton? So the implementation of the client will "inherit" the stubs generated by the IDL compiler, and the server implementation will use the sceleton.
    Thank you in advance.

    As far as I know, you've got to have your idl on both side. You compile idl mapping to java on client side and mapping to C++ on server side. Then you should be able to do it.
    Kim

  • How to Call C functions within Flash?

    I have a bunch of functions written in C++. I would like to
    be able to call these functions within my flash application so that
    I can pass data to the functions and get the returned values. Is
    this possible with Flash 8?
    If this is not possible then is there a way that I can have
    Flash share memory space with another stand-alone application? This
    way, a C++ program could read and write data to the shared memory
    and Flash could also read and write to it.

    you can write a dll and then call mmexecute in the flash IDE,
    but I
    think in the player it is not possible.
    mProjector on windows will let you write c plugins that you
    can call from Flash
    http://www.screentime.com/software/mprojector/plugins.html
    give it a look - it might do what you need...
    On 2006-05-04 15:50:24 -0400, "mmakrzem"
    <[email protected]> said:
    > I have a bunch of functions written in C++. I would like
    to be able to
    > call these functions within my flash application so that
    I can pass
    > data to the functions and get the returned values. Is
    this possible
    > with Flash 8?
    >
    > If this is not possible then is there a way that I can
    have Flash
    > share memory space with another stand-alone application?
    This way, a
    > C++ program could read and write data to the shared
    memory and Flash
    > could also read and write to it.
    John Pattenden
    Screentime Media
    Flash Screen Saver, Application and Wallpaper tools
    http://www.screentime.com

  • Calling flex functions from flash swf (AS3)

    Hi all, i'm stuck with communication between loaded AS3 SWF
    from Flash and Flex3 project. I use SWFLoader for runtime loading
    SWF, call functions inside SWF, but cannot find the way to call
    functions declared in Flex project. I try to use ExternalInterface
    class, but it does not help me, or maybe i use it incorrect. Is
    there a method to call Flex user declared functions from Flash SWF?
    All i need is a syntax sample, thank you in advance!

    Also, application.application will point to the top-level app
    scope, even from a loaded swf.
    I believe parentApplication will resolve to what you usually
    want as well.
    For looser coupling, consider using a bubbling event.
    Tracy

  • Calling a function in flash on an HTML page

    Hi,
    I need help regarding how to call a flash function from an HTML page. The idea is to have a link on my page (HTML link) that once clicked displays a movieclip in flash. I know i have to use the asfunction in HTML. So far I have just created my swf file with a function called showInfo. I've embedded the flash into an HTML page. I have then added a link on the HTML page as follows:
    <a href="asfunction:showInfo">Link name</a>
    but when I click it says:
    "Firefox doesn't know how to open this address, because the protocol (asfunction) isn't associated with any program."
    is there a piece of code I need to write in flash for this to work?
    Thanks
    Eugene

    have your html link call a javascript function and use the externalinterface class in flash to communicate between javascript and actionscript.

  • Calling setter on backing bean via JavaScript / AJAX using JSF2

    My application requires me to invoke a setter on a backing bean instance. I am trying to do this using the following javascript code:
    var stateListWidth = document.getElementById("myform:stateListWidth");
    stateListWidth.setAttribute("value", 100);
    jsf.ajax.request(this, event, {execute: 'stateListWidth', render: 'stateListWidth'});and added a hidden field as follows:
    <h:form id="myform">
    <h:inputHidden id="stateListWidth" value="#{cityController.stateListWidth}"/>However my setter method is never called. I can see the parameters (myform:stateListWidth = 100) are POST'd to the server side, but not translated into a setter invocation. Any ideas if this is possible and how to do this.

    I got it working. Had to specify the full ID of the element myform:stateListWidth rather then just stateListWidth.
    var stateListWidth = document.getElementById(myform:stateListWidth);
    stateListWidth.setAttribute("value", 100);
    jsf.ajax.request(this, event, {execute: 'myform:stateListWidth', render: 'myform:stateListWidth' });I still wonder if there is a better way without using a hidden field to get this working?

  • Calling DLL using "Call library function"

    I am trying to combine labview with my previous fortran functions using Intel Visual Fortran 12.1 and labview 2012 by below steps.
     1. Compile Fortran functions as DLL file.
     2. Call Fortran function from LabView via "Call library function"
    In step 2, DLL file without linker option "/DLL delayimp.lib" cannot be loaded. That is "delay load" is needed for DLL file.
    Are there any limitation or constraint in Call library function?

    Hi Vishnu,
    There's no problem using the Malloc function in C and call it as a DLL in LabVIEW.
    But LabVIEW has a different memory management than C.
    It is probably not recommended to allocate array memory in C for labVIEW arrays
    You can use initialize array in LabVIEW instead.
    Good luck
    Van L
    NI Applications Engineer

  • HTML/javascript interaction with swf content - can I call swf functions from JS?

    Hi,
    I've created an AIR application where the
    intialWindow.content is a HTML page / JavaScript application. On
    this HTML page I want to include some SWF content as a plugin (a
    Flex 3 app), so I have an object tag.
    From my SWF I can call out to JavaScript using
    flash.external.ExternalInterface fine. I can also call methods
    within the AIR and Flex APIs via the window or runtime objects.
    However, if I try to call methods within my SWF from
    JavaScript, nothing happens. Further, I can pass a function
    reference from my SWF to JavaScript (via ExternalInterface), and
    while I can see a valid function reference in JavaScript, calling
    it doesn't call the function within the SWF.
    Is this not supported? Or is this something else, like an
    applicationDomain issue? My SWF object is loaded via the app:/ uri,
    so I didn't think it would be that.

    I hadn't tried that, and it does work. Thank you. Everyone
    should note though that the documentation here
    Flex
    3 - External Interface
    and
    Flash
    9 - ExternalInterface.html
    says:
    "Note: Adobe AIR currently does not support the
    ExternalInterface class."
    which by my reading means that none of this should work,
    although it clearly does.
    The page
    Example:
    Using the external API with a web page container was most
    helpful in finding the solution, since it mentions referencing the
    object id of the plugin (e.g.
    window['my-object-id'].functionToCall()) when referencing the
    callback function.
    This
    page has a more concise example.

  • Using Javascript Functions with Flash 8

    I wanted to know how to integrate Javascript functions with
    Flash 8 created swf files. I assume this would be done using
    ActionScript, I know some ActionScript but am not as familiar with
    it as to be able to integrate other programming languages with it.
    I'd like to be able to call other programming language functions
    with my swf files.
    The particular case I'm working on now is to be able to open
    Pop-Up windows for display of web items from within links written
    in ActionScript in a swf file. In other words, have the user click
    a link in a Flash movie and open a window using a Javascript
    window.open function that would be called. I would like the window
    to contain more flash movies that contained further links to
    functions. If any one could offer up some advice or point me to a
    few tutorials and how tos on how to get the Flash part of this done
    I'd appreciate it.
    In a broader scope, a seemless workflow linking Flash output
    files to outside scripting and programming functions would be nice
    to know if anyone has links or input on where I can read up on
    this.
    Thanks

    myButton.onRelease = function () {
    getURL("javascript:myFunc('myVars')");
    }

  • Cannot call AS3 Function from JavaScript

    Hi,
    I am trying to call an ActionScript 3 function with JavaScript. The problem I cannot seem to get any of the browsers to trigger this AS3 function. The debuggers say that the function is undefined when I call it on the flash object. 
    What is supposed to happen is - the javascript function calls the AS3 function, and passes it an integer value.   That integer is then used to pull one of 20 swfs, and load that into the flash movie.
    Please let me know if you guys can think of anything that I can do to make this work!  I've been stuck for hours, and can't seem to make it happen.
    Here is my actionScript:
    import flash.net.URLRequest;
    import flash.display.Loader;
    import flash.external.ExternalInterface;
    var movies:Array = ["idle-ok.swf", "idle-good.swf"];
    // It first loads this "hello swf".
    var helloLoader:Loader = new Loader();
    var helloURL:URLRequest = new URLRequest("idleAvatar.swf");
    helloLoader.load(helloURL);
    addChild(helloLoader);
    var setAvatar:Function = loadAvatar;
    ExternalInterface.addCallback("callSetAvatar", setAvatar);
    // Then, this function should be called by JavaScript to load one of the other swfs.
    function loadAvatar(indx:Number){
        var url:URLRequest = new URLRequest(movies[0]);
        var ldr:Loader = new Loader();
        ldr.load(url);
        addChild(ldr);
    Here is my JavaScript:
    <script type="text/javascript">
    function callExternalInterface(val) {
              document.getElementById("loader").callSetValue(val);
    </script>
    Here is my embed code:
    <div>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="250" height="350" id="loader" name="loader">
    <param name="movie" value="loader.swf" />
    <param name="allowscriptaccess" value="always" />
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="loader.swf" width="250" height="350">
    <param name="allowscriptaccess" value="always" />
    <!--<![endif]-->
    <a href="http://www.adobe.com/go/getflashplayer">
    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
    </a>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
    </object>
    </div>
    <a href="#" onClick="callExternalInterface(1)">CLICK</a>

    You don't appear to be calling any function in your actionscript.  The names between and within do not agree. 
    document.getElementById("loader").callSetValue(val);
    should be calling a function identified with the string "callSetValue" in your actionscript, but you only have a function identified with "callSetAvatar"  and the function associated with that on your AS3 side is specified to be setAvatar...
    ExternalInterface.addCallback("callSetAvatar", setAvatar);
    but you do not have a function named setAvatar, you have one named loadAvatar
    Here's a link to a tutorial that might help you to see how the functions are specified between javascript and actionscript using the ExternalInterface class.  It gets confusing so I suggest you copy the code to a word processing file so you can clearly highlight where they have the same language between them.
    http://viget.com/inspire/bi-directional-actionscript-javascript-communication

  • Call a function module from CRM 5.0 via ITS to FICA

    Hi
    I want to call a function module in FICA (FICA is using sapgui) from CRM (IC-web) via ITS (Not integrated in FICA)
    Is it possible and how should this be done???
    If someone know how, please help
    BR//JL

    generally RFCs should not have user dialogs.
    any how to handle your case, you need ITS and since FICA is a WAS 6.20 system, you need to have a ITS installed for FICA system, without which you cannot do that.
    alternatively you can mimic the functionality of the RFC by programming the same in a BSP and call this from CRM system
    Regards
    Raja

  • Flash inserted via Javascript not working in IE.

    I am having issues viewing flash that has been inserted via
    javascript in Internet Explorer. I had to uninstall my flash about
    a week ago. I've since reinstalled flash and reinstalled flash
    player for all my browsers. All flash shows where it hasn't been
    inserted via javascript (ie. youtube.com) but javascript flash is
    not showing at all in IE. Firefox is working fine. Any help in
    resolving this issue for IE would be greatly appreciated.
    Duncan

    I'm having the same exact problem. I've uninstalled,
    reinstalled, the works. Flash works great in my alternate browser,
    Opera, but not with IE.

  • Calling a function which has a CLOB parameter via an anonymous block.

    OK,
    we are moving a lot of exports currently done by Crystal to just be done by stored procs.
    So we have a load of existing, some extremely length SQL statements used for these exports.
    IN the exports, we have meaningful column headings, so we have a 'lookup' file where all the column names are listed with the desired column name text listed against it.
    So - to make our lives easier(i thought) , I have written a Oracle function to extract al;l of the column names as a list (see below).
    It works fine except for when I am trying to pass in a SQL treatment that is longer than 4000 character.
    What I want to be able to do is simply have an anonymous block that callls my function, I will be running this via SQL explorer.
    Something like......
    DECLARE
    theSQL CLOB;
    BEGFIN
    theSQL := 'SELECT * FROM ORDERS WHERE 1=0';
    SELECT GET_COLUNS_AS_LIST( theSQL, 0 ) FROM DUAL;
    END;
    However, when I run this I get the error................
    PLS-00428: an INTO clause is expected in this SELECT statement
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    If I hard code the SQL like this, SELECT GET_COLUNS_AS_LIST( 'SELECT * FROM ORDERS WHERE 1=0', 0 ) FROM DUAL; all is well.
    Also, I am going to need to be able to pass in SQL ststement longer that 4000 characters as weel so please bear that in mind.
    I am not an Oracle guy, so I guess I am missing something fundamental - Please enlighten me with regards to this.
    Any help extremely appreciated.
    CREATE OR REPLACE FUNCTION GET_COLUNS_AS_LIST( P_SQL IN VARCHAR2, Add_Equals_Sign Number := 0)
    RETURN CLOB
    IS
    fResult VARCHAR2(32000);
    HNDL NUMBER;
    d NUMBER;
    colCount INTEGER;
    i INTEGER;
    rec_tab DBMS_SQL.DESC_TAB;
    cCRLF VARCHAR(2) := CHR(13) || CHR(10);
    LONG_SQL dbms_sql.varchar2s;
    n INTEGER;
    l INTEGER;
    u INTEGER;
    StartPos INTEGER;
    BEGIN
    --INITIIALISE RESULT
    fResult := '';
    HNDL := DBMS_SQL.OPEN_CURSOR;
    l := Length( P_SQL );
    u := ( l / 1000 ) + 1;
    FOR n IN 1..u
    LOOP
    StartPos := ( n - 1 ) + 1;
    LONG_SQL( n ) := SubStr( P_SQL, StartPos, 1000 );
    END LOOP;
    if HNDL <> 0 THEN
    DBMS_SQL.PARSE ( c => HNDL,
    statement => LONG_SQL,
    lb => 1,
    ub => u,
    lfflg => false,
    language_flag => DBMS_SQL.NATIVE );
    --DBMS_SQL.PARSE( HNDL, P_SQL, DBMS_SQL.NATIVE);
    d := DBMS_SQL.EXECUTE( HNDL );
    DBMS_SQL.DESCRIBE_COLUMNS( HNDL, colCount, rec_tab);
    FOR i in 1..colCount
    LOOP
    IF Add_Equals_Sign > 0 AND i > 1 THEN
    fResult := ltrim( fResult || '=' || cCRLF || UPPER( rec_tab( i ).col_name ), cCRLF );
    ELSE
    fResult := ltrim( fResult || cCRLF || UPPER( rec_tab( i ).col_name ), cCRLF );
    END IF;
    END LOOP;
    IF Add_Equals_Sign > 0 THEN
    fResult := fResult ||'=';
    END IF;
    ELSE
    fResult := '!!COULD NOT OPEN CURSOR!!';
    fResult := P_SQL;
    END IF;
    RETURN fResult;
    --Tidy Up 
    DBMS_SQL.CLOSE_CURSOR(HNDL);
    Return 'EGG';
    END;
    --EXAMPLE USAGE
    --Select GET_COLUNS_AS_LIST
    --Select * from SALES_TYPE
    --', 1) FROM DUAL;

    So I have ended up with this.
    When I next get some time, I'd like to be able to strip out the table and simply output the results to an SQL Developer script window without having to go through the table.
    Now this works - but if you see that I am doing something wrong - please point it out.
    Many thanks,
    Ant
    CREATE OR REPLACE FUNCTION GET_COLUNS_AS_LIST( P_SQL IN CLOB, Add_Equals_Sign Number := 0)
    RETURN VARCHAR2
    IS
    fResult VARCHAR2(32000);
    HNDL NUMBER;
    d NUMBER;
    colCount INTEGER;
    i INTEGER;
    ChunkSize INTEGER;
    rec_tab DBMS_SQL.DESC_TAB;
    cCRLF VARCHAR(2) := CHR(13) || CHR(10);
    LONG_SQL dbms_sql.varchar2s;
    n INTEGER;
    l INTEGER;
    u INTEGER;
    StartPos INTEGER;
    BEGIN
    --INITIIALISE RESULT
    HNDL := 0;
    ChunkSize := 4;
    fResult := '';
    --fResult := fResult|| 'A'; 
    HNDL := DBMS_SQL.OPEN_CURSOR;
    --l := Length( P_SQL );
    l := dbms_lob.getLength( P_SQL );
    --l := 50;
    u := Round( l / ChunkSize ) + 1;
    --fResult := fResult|| 'B';   
    FOR n IN 1..u
    LOOP
    StartPos := ( ( n - 1 ) * ChunkSize ) + 1;
    IF StartPos = 0 THEN
    StartPos := 1;
    END IF;
    --LONG_SQL( n ) := SubStr( P_SQL, StartPos, ChunkSize );
    LONG_SQL( n ) := DBMS_LOB.SUBSTR( P_SQL, ChunkSize, StartPos );
    END LOOP;
    --fResult := fResult|| 'C';  
    if HNDL <> 0 THEN
    DBMS_SQL.PARSE ( c => HNDL,
    statement => LONG_SQL,
    lb => 1,
    ub => u,
    lfflg => false,
    language_flag => DBMS_SQL.NATIVE );
    --DBMS_SQL.PARSE( HNDL, P_SQL, DBMS_SQL.NATIVE);
    d := DBMS_SQL.EXECUTE( HNDL );
    DBMS_SQL.DESCRIBE_COLUMNS( HNDL, colCount, rec_tab);
    --fResult := fResult|| 'D';  
    FOR i in 1..colCount
    LOOP
    IF Add_Equals_Sign > 0 AND i > 1 THEN
    fResult := ltrim( fResult || '=' || cCRLF || UPPER( rec_tab( i ).col_name ), cCRLF );
    ELSE
    fResult := ltrim( fResult || cCRLF || UPPER( rec_tab( i ).col_name ), cCRLF );
    END IF;
    END LOOP;
    IF Add_Equals_Sign > 0 THEN
    fResult := fResult ||'=';
    END IF;
    ELSE
    fResult := '!!COULD NOT OPEN CURSOR!!';
    END IF;
    RETURN fResult;
    --Tidy Up 
    IF HNDL <> 0 THEN
    DBMS_SQL.CLOSE_CURSOR(HNDL);
    END IF;
    END;
    -- !!!!HOW TO USE THIS FUNCTION!!!!
    BEGIN
    EXECUTE IMMEDIATE ('DROP TABLE RPT_COLNAME_LOOKUPS;');
    COMMIT;
    EXECUTE IMMEDIATE ('CREATE TABLE RPT_COLNAME_LOOKUPS( COLUMN_NAME CLOB );');
    COMMIT;
    EXCEPTION WHEN OTHERS THEN NULL;
    END;
    DECLARE
    theSQL Clob;
    myresult CLOB;
    BEGIN
    --CLEAR OUT PREVIOUS RWS
    DELETE FROM RPT_COLNAME_LOOKUPS; COMMIT;
    --ASSIGN THE SQL TO RUN IT FOR 
    theSQL := '
    SELECT
    EVENT.EVENT_ID AS COCK_SUCKER,
    EVENT.EVENT_CODE, BLAH, BLAH, VERY LONG SQL STATEMENT';
    --CALL THE FUNCTION PASSING IN THE SQL AND IF I WANT THE = OR NOT
    SELECT GET_COLUNS_AS_LIST( theSQL, 1 ) INTO myresult FROM DUAL;
    --INSERT THE RESULTS INTO A TABLE SO WE CAN GRAB THEM
    INSERT INTO RPT_COLNAME_LOOKUPS SELECT myresult FROM DUAL;
    COMMIT;
    END;
    --THEN LOOK AT THE COLUMNS NAMES IN THIS TABLE
    --SELECT * FROM RPT_COLNAME_LOOKUPS;
    --#############################################################################

Maybe you are looking for