Retrieving JavaScript Browser Info from ActionScript
The example below shows how to retrieve JavaScript Browser info from ActionScript.
ActionScript (browser_info.swf)
import com.macromedia.javascript.*; var proxy:JavaScriptProxy = new JavaScriptProxy(_root.lcId, this); function getBrowserInfo():Void { proxy.call("getBrowserInfo"); } function getBrowserInfoReturn(browser:Object):Void { //can get more info from System.capabilities for(var x:String in browser) { trace(x + " : " + browser[x]); } } getBrowserInfo();
HTML / JavaScript Page
<!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" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>browser_info</title> <script type="text/javascript" src="javascript/Exception.js"></script> <script type="text/javascript" src="javascript/FlashProxy.js"></script> <script type="text/javascript" src="javascript/FlashSerializer.js"></script> <script type="text/javascript" src="javascript/FlashTag.js"></script> </head> <body bgcolor="#ffffff"> <script type="text/javascript"> function getBrowserInfo() { var o = {}; var type; for(var x in navigator) { type = typeof(navigator[x]); switch (type) { case 'function': { //if it is a function, call it and keep its result //o[x] = navigator[x](); break; } case 'object': { //one or more of the objects is causing a recursion error, //so right now, we just skip them continue; break; } default: { //copy the property o[x] = navigator[x]; } } var docElement = document.documentElement; o.href = location.href; o.pathName = location.pathname; o.baseURI = document.doctype.baseURI; o.lang = docElement.lang; o.offsetTop = docElement.offsetTop; o.offsetLeft = docElement.offsetLeft; o.offsetWidth = docElement.offsetWidth; o.offsetHeight = docElement.offsetHeight; o.scrollTop = docElement.scrollTop; o.scrollLeft = docElement.scrollLeft; o.scrollHeight = docElement.scrollHeight; o.scrollWidth - docElement.scrollWidth; o.clientHeight = docElement.clientHeight; o.clientWidth = docElement.clientWidth; o.width = document.width; o.height = document.height; o.domain = document.domain; o.lastModified = document.lastModified; var pluginArray = []; var plugins = navigator.plugins; var pluginLen = plugins.length; for(var i = 0; i < pluginLen; i++) { pluginArray.push(plugins[i].name); } o.plugins = pluginArray; } flashProxy.call("getBrowserInfoReturn", o); } </script> <script type="text/javascript"> var uid = new Date().getTime(); var flashProxy = new FlashProxy(uid, 'myFlashContent', 'JavaScriptFlashGateway.swf'); var tag = new FlashTag('browser_info.swf', 550, 400, '7,0,14,0'); // last two arguments are height and width tag.addFlashVar('lcId', uid); tag.setId('myFlashContent'); tag.write(document); </script> </body> </html>
projects/flashjs/tutorials/jsinfo2flash.txt · Last modified: 2007/02/21 00:33 by niko