Flex :: Flash - How To Detect Browser / Tab Closure
Oct 8, 2009
I need to detect browser/tab closure from within a flex application in order to delete the session information in the server. I'm familiar with JavaScript events but I was wandering if there is an event in flex for application unload or something of that sort ...
On occasion, I have wanted to push a closure onto ActionScript's event stack so that it will be executed after the current event handler. Right now I use setTimeout(closure, 0). Is there a more direct way of doing this?
This my HTML but if the browser does not support flash then i want to replace image in flash part
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
Does this sound at all possible (doesn't to me):Flash site is open...
1. User goes to their browser's options and chooses PRINT. 2. Flash (or Javascript) detects that and tells Flash. 3. Flash then responds by modifying what it's displaying before printing begins
I'm mostly an art/design oriented person but am trying to learn some new things. I'm currently working on a test site for myself as a self-learning piece that will be a CSS laid out site with some Flash elements. Anyway, I'm completely stuck on this current problem..I will be placing a SWF file that will live on each page but will need to do different things based on which page the browser currently is on. It's nothing complex...will probably be something as simple as "on enter frame, if the browser is on this page 'http:www...', then jump to frame '#' ". This is how I'm placing the SWF file through the CSS.[code]
I read that "FlashVars" was the start of how to do this but as you can see in that last line, that's as far as I got on the CSS side. I have ZERO clue how to make the SWF file detect that value or detect the page the browser is on and then do something with AS3. Does this all make sense? I've searched through books and online for a little over 6 hours today and have not been able to figure this part out. Is it a simple line of code I need in the flash file or am I embarking on more than I can handle at this stage?
My client has a website that plays YouTube videos. Once a video is finished playing, it will automatically play the next one. This is done by using the YouTube API and swfobject.After some research, I was told that Safari on iPhone does not support flash. This make the current swfobject code not working on the iPhone browser.As workaround, when the user clicked on an embedded player, iPhone will launch the YouTube app.
I want to know the type and version the browser that the user is running from within my Flex 4 application. I know I can get that information by using ExternalInterface to call Javascript. I know I can get that information from the server. I'm looking for a way to get that information directly from actionscript. I mean, isn't there a global variable or something that keeps this information?
I know how to detect if Flash player is installed in a browser. I'm using the hasFlashPlayerVersion() function of swfobject for that. However, I can't seem to find any documentation on how to detect if the plug-in is installed and just disabled. I didn't see any documentation in the Flash Player Detection Kit that checks if the plug-in is enabled either.
I've run across several websites, including mine, that prompt users to download Flash even though their browser cannot install it. I want to avoid this confusing messaging by detecting whether a mobile browser can install Flash, not whether it has Flash.
Some known mobile browsers that can't install Flash are:
iOS Safari Android Chrome beta Android Firefox
Instead of building an ever-changing list of Flash installability, I would like to detect this in a general way in Javascript.
I have a flash website which has the following dimensions:
width = 100% of browser window height = 1500px
What I'm trying to do is have a movie clip with the instance name of 'msie' vertically and horizontally centred to the middle of the browser window (not just the stage).
The current code I'm using is: msie._x = Stage.width / 2; msie._y = Stage.height / 2;
This correctly centres the movieclip to the width of the browser window but because the height of the stage is 1500px, it positions it at 750px from the top instead of being vertically centred in the browser window.
how I can get this to work. I feel like all I need to is replace the word 'Stage.' with something else in the code.
I'd like to use the same code base for both desktop AIR and browser plugin applications, with some changes in the manner in which data is loaded and saved. Ideally, I would like to auto-detect the current environment so I know where to look for the data to be loaded, either from the filesystem or from a URL. Is there a simple test that can accomplish this without relying on a hack?
When Flex application make an asynchronus HTTP request, does it add a special header to the request, like some JavaScript framework does? Something that indicates whether this request is an AJAX call/not.I just want my server side code to return different response format, depending on whether the request is made from browser/flex.
in other words, suppose I want to send data, like text, programmatically from a Windows app (such as a browser plugin) to a Flash app running in the browser. Well, conceptually, an example of this might be a Flash instant messenger with a textbox and button "Send"; so let's say I want to be able to programmatically paste the text and press Send or otherwise activate it. That's NOT what I am trying to do here in reality (i.e., no,I am not trying to spam other people's chat rooms or anything)but just an illustration of a similar situation.I can include in it whatever widget or hack that may be necessary.The reason why this problem is arising for me is that AFAIK the SDK that is providing me the data I want cannot be directly accessed from Flash, so I need a way to pipe the data from a regular app into Flash. can I have the Flash app interact with other apps through localhost IP? Or are there draconian restrictions on which server Flash in browser can and cannot interact?
I'd like to know how to get AS3 to detect if it is running in the IDE or in a browser. That way I can disable certain functionality and trace it out instead while testing.
i use a simple embed swf movie in one of many pages i own, but recently I build a new page in html5. But i tested in Internet Explorer and doesnt work well. What i need its a script code in AS3 to use in my swf movie that detect the browser and if the browser its IE9 load an old page, but if its other browser is like mozilla or chrome, load the new page in html5.
I have an AS3 application that loads various SWFs at runtime. The loading animation that is being used has a fairly long in and out animation that I don't want to show if the target SWF is in the browser cache.So at the moment each SWF is loaded in as required using Greensock's SWFLoader in a basic manner:
var context:LoaderContext = new LoaderContext(); context.applicationDomain = ApplicationDomain.currentDomain; loader = new SWFLoader("mySWF.swf",
I have a error TypeError: Error #1007: Instantiation attempted on a non-constructor but i can't figure out what i am doing wrong. I have a class that declares a static closure that instances the same class.
It goes like this, we need to detect if the display is a Projector (or if the system is connected to a Projetor).the catch is this should be done from within the browser.so is it possible to do so by using anFlashActiveX (this does constrains to a single browser, so not an option)searching so far only reaveals display resolution. expecting if there is something still out there.
I have 2 SWFs, one at the top of an HTML page and one at the bottom. I would like the bottom SWF to remain stopped until the viewer has scrolled far enough to actually see it.
I seem to recall something about pass-by-reference and the Greensock TweenLite class. It's the only thing I can think of that is causing this bit of code to be not working as I intend:
for (var i = 0; i < 10; ++i) { addItem(); } public function addItem():MovieClip { var item:MovieClip = getNewItem();
[Code]...
The trace is outputting the values I expect: an incremental sequence where each number is greater than the last (by the height of the item). However, what I see visually is that all the items end up at the same location (as if newPosY were the same for all instances of the tween.)
The only thing that comes to mind is that newPosY is being passed by reference, so each instance of the tween is actually referencing the very same value. Am I missing something? Or do I need some kind of closure to isolate the scope of my tween property's value?