Javascript :: JS Function 'postMessage()' Do When Called On An Html Object Tag?
Mar 8, 2010
I was recently searching for a way to call the print function on a PDF I was displaying in adobe air. I solved this problem with a little help from this fellow, and by calling postMessage on my PDF like so:
//this is the HTML I use to view my PDF
<object id="PDFObj" data="test.pdf" type="application/pdf"/>
//this actionscript lives in my air app
var pdfObj:Object = htmlLoader.window.document.getElementById("PDFObj");
pdfObj.postMessage([message]);
I've tried this in JavaScript as well, just to be sure it wasn't adobe sneaking in and helping me out..
Here's the challenge: I have a Flash movie which will be embedded in a page using an unknown DOM ID that I want to be able to identify/store for callback in a JS function. My ideal user flow would be: User clicks button in Flash. Flash pauses any animations / video / sounds / etc. Flash calls an injected JS function to display a page-covering overlay experience. When user closes overlay experience, a callback method on the Flash object is called. Flash resumes playback.
The problem is, when AS3 uses the ExternalInterface.call("functionName", args...) method, there doesn't seem to be a DOM event triggered, and thus it is impossible to tell which object called a JS function, so having a "registerMe()" function doesn't seem to work. Basically, the injected JS function has no way to determine which DOM object to call, because the ID of the Flash object is unknown.
I have a page with multiple flash objects which are written by a third party and thus can't be changed. They call a JS function but don't seem to pass any identifying parameters. Is there any way to determine inside the function which flash object called it?
here is the action code I add to the last frame of the flash object
URLLoader("javascript:mainFunction();");
The object loads but the function is not called. I can call the function other ways such as using an "onclick = mainFunction()" event on a button for example.
I have an AS3 program that calls a function multiple times. The function must return multiple variables, so I created a class for the function to declare an object containing all of these variables. For example, here's my class:
package { public class PER { [Code].....
Let's say the calling program calls the function, which returns the variables into data_set1 (where data_set1 depends on input variables arg1, arg2, arg3) using:
var data_set1:PER = function_name(arg1, arg2, arg3);
The calling program does some stuff, then calls the function again, but returns the variables into a new variable name, data_set2:
var data_set2:PER = function_name(arg4, arg5, arg6);
My intention is that data_set1 and data_set2 are different (e.g. not linked together).
My question is, given that arrays are passed by reference, will data_set1 be modified to agree with data_set2 upon the 2nd function call? Why or why not?
I'm using an onLoad function (importing variables from a text file) and I'm creating arrays within a for loop in the onLoad function. I'm using something like this:
Code: this["dvdAry" + i] = this[indexAry[i]].split("##"); So say the first array is called dvdAry0 .
How can I access that Array from a function? Please note the function, the onLoad function and the arrays are all being created on the same timeline.I've tried tracing the array dvdAry0 from the function after the array is created in the onLoad function, but it comes up as undefined. Is the array created on the object that I'm using onLoad on?I'm using a loadVars Object called loadDVDsText.
So my team's project has an swf embedded in JavaScript, we're actually using java servlet's to create the html/JavaScript. I am attempting to use as3's ExternalInterface to add a callback which would get called in the javascript but everything I have tried will not work.[code]so if there is a missing tag or something that's probably not my problem. NOTE I embed this correctly and get into the swf allowing it to call javascript functions(as3 calls the getStuff fn), using the ExternalInterface, which works but JS->as3 does NOT work ='I cant use the movie object for anything (the return value of getFlashMovie), if I try to use no code after works.The action script code calls the external interface addCallback function correctly(called in a try catch that's how I know)[code]The only things I can think of;
1) The embed code isnt creating the object correctly, since I cant use the movie for anything
2) my swf is being created weird and doesnt allow script access.We are using FlashBuilder to build the swf.
I have another question which i think is most easily solved by using javascript to find out if flash exist or not and dynamically modify the page. In my case place a placeholder, call jcupload code if flash exist or replace the placeholding div with my html
But the problem is i havent been able to find any javascript functions to tell me if flash is installed. All i found were html that displays alt html if flash isnt shown/enabled.
I have a flash SWF that passes a variable as a parameter to a javascript function in my HTML page. Somehow I need to put that value of that parameter into a global variable I can use outside the html javascript function that actually receives it from the SWF function that passes it. Ultimately I will store that value in a hidden form field in the HTML so I can reuse it elsewhere.
Using an alert box, I can see my desired variable data is being passed by the AS2 function but I can't figure out a way to access it from outside the javascript function. Here's a screen print of the alert and what I see when I try to reference it outside the function. Here is a link to a screen pic that demonstrates that
This is a code snippet that starts with the javascript function that receives the variable. YES, I know the"mailLink = str" is not valid. It just demonstrates how off the mark I am.
Code: <script language="JavaScript" type="text/javascript"> var mailLink = null; function callJavascript(str) {
I am creating a flash object that does some heavy image lifting. What I am looking to do is load many flash objects onto the same page to take an image, modify it, and display it within the flash object.The problem I am running into is that when I try to add 100 flex objects to the page, the browser freezes as it tries to re-load/initialize each instance.Once they are all loaded, the processing of the images goes by quick.Does anyone know how to duplicate the flash piece without having to reload everything?
is it possible to change the playback speed of a flash object without having to recompile the flash object,i.e through the html attributes or javascript?
is it possible to let clicks on a HTML element that's overlaying a Flash or Silverlight object bubble through to the Flash / Silverlight object? I've been experimenting with this, but i can't figure out if it is even possible because of possible security restrictions to prevent clickjacking.I don't have access to the source code to the FL / SL object, so i can't implement an ExternalInterface or something like that.
i want to call a javascript function from within an embeded swf file in a html page and i'm using the ExternalInterface class. i know this function must be defined in a <script> tag in the html page. however, i want to have all my javascript code in an external file, but it doesn't work. my trial file just can't find the function, although i have my external js file linked in the header.
I am trying to send some information to a javascript function on the same html page as the swf file is in. I used the tutorial here on Kirupa but for same way it doesnt work.
I'm building an AIR desktop application. At one point the application loads a popup window (an MXML component based on s:Window), which contains an mx:HTML component which loads a local (in the application directory) html file, blank.html. The relevant elements in blank.html are:
<script src="jw/jwplayer.js"/> <!--JW Player's JS-based Embedder--> <div id="jwtarget" /> <!-- the target that the embedder will use -->
Since the parameters I want to use are determined at runtime, I use the domWindow property to invoke the method which loads the player. Here's an example that works:
So I have a video that plays stream from a webcam,I will click a button and take a picture. I encode that picture using JPEGEncoder then I store it in a ByteArray.How do I send that data over to either a javascript function or a java class?I don't want to use the navigateToURL (URLRequest) method because that will redirect my page.Is there a way to send the data to a function while still staying on the same page?For example, make a asynchronous call to a javascript function or java method?
I'm trying to have JavaScript call a function from my ActionScript.
ActionScript: import flash.external.ExternalInterface; ExternalInterface.addCallback( "playSong", playSong ); function playSong():void { var _sound:Sound = new Sound(); var _request = new URLRequest("music.mp3"); _sound.load(_request); _sound.play(); }
My web application pass a javascript object to flex application using addCallback function. when the flex application is in modal dialog in safari browser, the object in the flex application is null and when I open the flex application just in a new window, the object is passed correctly. But, I need the showmodaldialog to show the flex application.
The flex code: ExternalInterface.addCallback( "handleEvent", handleEvent ); override public function handleEvent( event:Object ):Object { Alert.show(String(event)); .....
I am refactoring some code. I have a PHP page that contains a MySQL query and stores the result in a PHP variable $my_result. This result is then echoed to a Flash SWF during embedding with SWFObject. I now want to call this PHP page that makes the query from a javascript function like so - one change I have made to the PHP is that instead of storing the result in a variable $my_result I am echoing the result. Javascript function to call the PHP page and make the database query
Sending simulated click via WebBrowser in C# to flash object embedded in HTML
Unfortunately, Mr. K wasn't very specific, and all he left behind for people reading his question was that he "got the handle and then iterated through the handles." I'm not extremely sure what he meant by that. I iterated through all visible handles using EnumWindows to no avail, as that did not return a window that was a flash window.
EDIT: I've just settled on inserting an SWF Object into my form and posting messages to the handle of that.
I've been trying to do as the client requested : redirect to campaign page then to destination page once a customer clicks on the top banner in swf format.If you are using Firefox, Chrome or Safari, I suspect you can reach the destination page.However, if you are using IE or Opera, I doubt it.I think to cause of such a weird problem is:The swf ojbects don't have a link to url, SO I have to hack the theme template file like this :
<div id="header">'; /* * A quick and dirty way to put some swf into PHP, and rotate among them ...
Use Flash CS5 (and AIR, though this does not seem like it would be AIR related) in Win XP 64 I have a MovieClip symbol in my library with the identifier 'Puzzle10Piece10' with the following actionscript attached to frame 1 of the only layer with the following actionscript:
[Code]...
This runs contrary to my understanding of the pre-compiler and code execution order. In my way of thinking, any reference creation and related memory allocation is made when the object is instantiated, and indeed that allocation, unlike C depends not on code order (declaration before use), though this is an order that would satisfy even the C pre-compiler. If I understand the Flash compiler at all, it's not even a question of 'code order'... the symbol is pre-compiled such that for it to exist... for it to be instantiated, the variable would exist before the function would even be 'available' to be called internally or externally. Is my thinking way off, or is this a bug?
I'm using an AMF service that was built by someone else. Basically what happens is that some info is passed to the AMF service and it returns true or false.I want to be able to pass in various info to the a function that calls the AMF service(submitTracking) and then get the true or false value returned in onResultSubmit to be passed back to submitTracking.
var screen:String; var buttonnumber:String; function submitTracking(screen:String, buttonnumber:String) {
I have some data-crunching code implemented in ActionScript, and I'd like to call it from JavaScript. The related question [URL] mentions the blog post [URL] which tells me how to do this. All I need now is generating the SWF file from the .as file completely automatically, with a comand-line tool on Linux. How is this possible?
I'm working on a site, for kids, which has a small avatar in the corner that talks.The avatar is a flash file and the plan is to determine what it says through a mix of javascript and ajax.
Unfortunately when I make the flash file play an Mp3 file through JavaScript, I can't seem to stop the sound.. so when I keep clicking on a link which causes it to talk, I hear the sound repeated x times.
The odd thing is, when I attach the very same code to a button in flash, there seems to be no such limitation. It seems as if it won't store anything in global variables when calling from JavaScript.
I need to execute some javascript string code from flash swf file using actionscript 3. I read that it could be done by passing the javascript code to the parent html document , using externalinterface.call function. Then I assume it will be faster if I can declare functions in the javascript code in the HTML document in the first use of externalinterface.call funtion ; if flash code calls the javascript code repeatedly. So let me ask you how to do that. For details , any javascript to be loaded is unknown in design time and I can not prepare a javascript file to be loaded.
I'm trying to write a Silverlight control that hosts a Flash camera and microphone (since Silverlight doesn't support these things natively, worse luck). I've written a short little Flex application ("WLocalWebCam.swf") which handles the camera, and exposes two external methods: connect(uri:String, streamName:String), and disconnect(). I can call these successfully through JavaScript as follows (simplified to remove error handling, etc.):
function connectWebCam(webCamID, rtmpUri, streamName) { var flashCam = getWebCam(webCamID); flashCam.Connect(rtmpUri, streamName);[code].....
We're currently building a Flex application using the PureMVC framework with a shell.swf which loads/unloads modules dynamically. We're experiencing issues with memory and we're looking to replace the shell.swf with a JavaScript-based loader.Two questions:What would be a good framework to dynamically load the Flex components and allow the modules to communicate between each other?Would dynamically loading/unloading the modules via JavaScript take care of the typical memory problems associated with Flex/Flash applications?