Javascript :: Function Does Not Exist When Calling Flash Method From JS
Feb 10, 2012
I have a simple flash socket that I use to connect to IRC servers. It has an open, close, and send method made available to JS through ExternalInterface, for opening connections, closing connections, and sending messages respectively. The socket calls IRC.io.receive in JS whenever it gets a message, which is parsed by JS into something useful.Unfortunately, whenever any of the flash methods are called from JS, they return a "__ is not a function" error.Here's the (watered down) AS, where IRC is the document class:
public class IRC extends MovieClip {
public static function open(url:String, port:int) {/* code */}
public static function close(port:int) {/* code */}
public static function send(port:int, message:String) {/* code */}
[code]....
Any call to any of the functions registered with ExternalInterface throws a "function does not exist" exception.
I've seen a lot of places talking about the technique, and citing codes like:
factorial = function(n) { factorial(n-1); }
I don't understand the concept of calling a function within itself. What precisely does this accomplish, and how is it legal? Shouldn't the function definition fail because while its being defined its calling a function that does not yet exist.
let suppose i have a object named "data" which has a callBack function named "closeItem" which does something. So i have flash file which has a close button. on click of that i am calling this function which closes this item. So issue is? If i pass this "closeItemFunction" as global function this works fine. but if a pass this function as a "data.closeItem" this doesn;t work throwing some falsh error. so i just wanna ask that "does flash only call gobal scoped javascript function" ??
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
I'm trying to call a javascript function from within my swf and I'm having a couple of problems which are confussing me somewhat. I'm using this to call the function from flash: ExternalInterface.call("pgcover"); I know that this is calling the function as I have set it trigger an alert action and this comes up properly. But I don't want the function to trigger an alert, this is just for testing purposes. I instead want it to change the styling on a div. I have set up a test page where I have asigned the function to a button and this works, the div display changes from block to none. When I get the swf to call the function setup to do the same thing, nothing happens.
I have what I think is an easy question but I am having problems with it... Using AS2 / CS3, I am calling a javascript function from Flash, but i would like the value to be a variable and I cant figure out how to do it. the started code is below and I need direction on how to make "myVar" actually a variable.
I'm trying to make it so a button I use in a swf talks to the swf's container and says...
fscommand ("javascript:changeMap('hodson.htm');")
so that in turn
function changeMap(building) { document.getElementById('buildingINFO').src=buildi ng; }
But that doesn't work. I also tried getURL in front of the AS instead of fscommand. basically it's an interactive map where I should be able to click a building and have information appear within a div tag to the right side.
I am trying to call a Javascript function in flash. I am able to call the function using the following code:
Code: ExternalInterface.call("alert");
I have a flash movie and I want the javascript function to be called when the movie finishes but the code above calls the function at the beginning. Would anyone be able to tell me how I would get this to work the way I want it to?
Instead of a link, I'd like to call a javascript method that opens up a modal dialog with a list of items. I've tried the following based on some things I found, but I can't get it to work.
loadAsModal() takes in an empty div that i put on the page, and then the menu.jsp which builds the menu given the group id. I made sure to import all of my js libraries on the page.
I can't get this to work even after making sure to set "allowScriptAccess" to always. I successfully put the flash movie in the browser and call ReceiveDataFromFlashMovie() and print "Got here" but it seems like GetFlashMovieObject() only returns NULL according to an error message in Internet Explorer. Am I missing something? Head of the HTML file:
I have a swf streaming an flv with the default controls from Flash. Is there a way to call a javascript function when the pause button is clicked? And then another when the play button is clicked?
Basically I'm trying to call a javascript function which fades in the page content at the end of the flash movie. My javascript is all fine, I've even tested it by placing a button on the page from which it works flawlessly. So I know its definitely my Actionscript which is wrong.
So I'm trying to call a javascript function from the actionscript when the swf movie enters a certain frame. I've placed the following code on a frame in my movie, but nothing, nada, niet.
I've searched all over the net and have come across a few examples but being new to Actionscript, I'm finding it quite hard to get my head around this (albeit simple) problem. Basically I'm trying to call a javascript function which fades in the page content at the end of the flash movie. My javascript is all fine, I've even tested it by placing a button on the page from which it works flawlessly. So I know its definitely my Actionscript which is wrong. So I'm trying to call a javascript function from the actionscript when the swf movie enters a certain frame. I've placed the following code on a frame in my movie, but nothing, nada, niet.
I can't get this to work. I need to call a Javascript function from a button in flash. The code is as follows: on (release) { getURL("javascript:nameOfMyFunction('whatever.html ')"); }
This is working, so I got the call right. But what I really want to do is have that url (html) to be a variable within flash. on (release) { Myurl="[URL]"; getURL("javascript:nameOfMyFunction('Myurl')"); } This doesn't work. How do you use a flash variable as a javascript function parameter?
Making a flash video streaming web-app using Actionscript 3's external Api. I am at a very rudimentary phase of the project where we're just experimenting with external interface. Right now i just have a flash object and 3 buttons each to play pause and load a video. The only button that is currently set up to do anything is the load button. My swf and my html file sit on the same file system, and my video files sit on another server with traffic being redirected through a media server.When i press the load button, which should just give it the path of the video file on it's server. Instead it throws an error that reads "Error: Error Calling method on NPObject". [code]I've read in a lot of places that this is an issue with security, but both my swf and html are in the same folder on my local machine. Only the files come from outside, and in any case I think i've set the security settings correctly when i declare my flash player in the object tag, but maybe i'm missing something there.if you can't solve my question directly can someone please explain what "error calling method on NPObject" means? I'm sure its specific to flash-js communications because i've never seen it before and that's what i have gathered from my googling.
I've been playing with the visualization API aka dynamic charts and I've found that the example at [URL] does not really work on localhost. That is, Error calling method on NPObject is thrown when a event is clicked (points A and B in the example aforementioned). I suppose that is a security issue on the server end (Google's flash base).Since that jsFiddle code is hosted on a domain, the note at the very bottom of the documentation should not apply:Because of Flash security settings, this (and all Flash-based visualizations) might not work correctly when accessed from a file location in the browser [URL] rather than from a web server URL [URL] .
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 built a flash website. On one of my buttons, I was planning on loading another webpage with the getUrl script. I'm working with another developer and he wants me to program the button so that when it's clicked it will call a java script function he'll have programed in the webpage.
I'm relatively new to Flash and CS4, which we justpurchased. I want to call a JavaScript function in the page from aflash .swf file. I'm having trouble getting it to work. Can someonep me understand what I'm doing wrong?
Actionscript 3 code behind the Flash button: import flash.external.ExternalInterface; on (release) {
Is it possible to call a function defined in a movie clip from a class?Here's a sample project setup I'm trying to achieve this simple feat:
func.fla - Has one movieclip "fooinst" which is library item "foo". - The "foo" library item has linkage is to the "Foo" class - The "foo" library item has one script on it's first frame:
I need to call javascript function from Flash 4 based web application. When I run it in Debug mode it runs perfectly but when I make release build or run same application on other machine it does not call JavaScript function.
I have a SWF that is used to load other swf to it.
each of the loaded swf files has its own button events that try to access javascript functions. The problem is that they can't access the javascript. It never gets to call the functions.
If i run those swf on their own then it works..
what should i do do have embedded swfs to call javascript methods ?
I'm trying to get AS to call a javascript function. This is working fine. As a test a changed the js function to trigger an alert.This works and the alert comes up but it forms a loop and I'm not sure you to get it to stop repeating the alert.You can see what I mean at---------------WARNING THIS LINK WILL OPEN AN SWF WHICH WILL CREATE A LOOP WHEN IT CLOSESYOU WILL HAVE TO FORCE QUIT YOUR BROWSER SO MAKE SURE THAT YOU DON'T HAVE ANYTHING IMPORTANT UNSAVED OPEN-
Here is my AS // Create a movie clip instance. import flash.external.*;
ARCITECHTURE:the way I've set up this Flash doesn't work properly.in my html I load a preloader.swf.this preloader.swf is build with ActionScript in the first frame.this preloader.swf loads a content.swf this content.swf is build with ActionScript in a Document Class...
everything works properly this far.MY PROBLEM:my problem comes when I - using JavaScript - try calling a function in my content.swf the function I try to call is this:
public function playThisMovie(theMovieToPlay:String):void { var newM:String = theMovieToPlay; ExternalInterface.call("alert", "the new movie is = "+newM); }
when calling this function nothing happens, even though I know the function exists..can it be, that I cannot call my function because it is inside my content.swf..and if yes, is there a workaround I can use?
I am working on a quiz system. Normally it uses jpeg images with each question. But a few of the quizzes instead feature animated .SWF files. I want to use jquery swfobject to call the play() method, once the user has clicked on an answer.
My solution works fine locally, but when I try to run it online, it throws the "Error calling method on NPObject!" message.
The quiz HTML is located on www.somedomain.com and the SWFs are on images.somedomain.com. So, I'm guessing this is a cross-domain thing.
Trouble for me is, I don't know anything about Flash... how to edit SWF files, anything about Flash attributes, or the like.