khgm Posté(e) le 12 septembre 2008 Partager Posté(e) le 12 septembre 2008 Bonjour, je voudrais récupérer la langue du browser en actionscript3. Comment faire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
khgm Posté(e) le 15 septembre 2008 Auteur Partager Posté(e) le 15 septembre 2008 c'est irréalisable ou quoi ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 15 septembre 2008 Partager Posté(e) le 15 septembre 2008 Peut-être un élément de réponse : http://www.actionscript.org/forums/showthread.php3?t=162137 Lien vers le commentaire Partager sur d’autres sites More sharing options...
khgm Posté(e) le 16 septembre 2008 Auteur Partager Posté(e) le 16 septembre 2008 Oui en effet , on utilise la classe ExternalInterface pour appeler une méthode javascript qui récupère la langue du browser Lien vers le commentaire Partager sur d’autres sites More sharing options...
khgm Posté(e) le 16 septembre 2008 Auteur Partager Posté(e) le 16 septembre 2008 j'ai un soucis avec la classe ExternalInterface.En faite j'essaye de récupérer une fonction javascript mais mon fichier.as ne voit pas la fonction javascript(peut etre un pb de mapping entre les fichiers), en tout cas voici les codes des différents fichiers: pour résumer ce code récupère les caractéristiques du système et du navigateur et les affiche dans un tableau, or dans mon cas seul les caractéristiques du système s'affiche. fichier.mxml : <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:example="com.example.programmingas3.capabilities.*" xmlns="*" layout="vertical" horizontalAlign="left" creationComplete="initApp();"> <mx:Script> <![CDATA[ import com.example.programmingas3.capabilities.*; private function initApp():void { var dp:Array = CapabilitiesGrabber.getCapabilities(); capabilitiesGrid.dataProvider = dp; } ]]> </mx:Script> <mx:Label id="title" text="CapabilitiesExplorer Example" fontSize="24" fontStyle="bold" /> <mx:Label id="subtitle" text="From Programming ActionsScript 3.0, Chapter 23: Client system environment" fontSize="12" /> <mx:Panel title="System capabilities" width="100%" height="100%"> <mx:DataGrid id="capabilitiesGrid" editable="false" width="100%" height="100%" dropShadowEnabled="false"> <mx:columns> <mx:Array> <mx:DataGridColumn dataField="name" headerText="Name" /> <mx:DataGridColumn dataField="value" headerText="Value" /> </mx:Array> </mx:columns> </mx:DataGrid> </mx:Panel> </mx:Application> fichier html : <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body scroll="no"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="CapabilitiesExplorer" width="100%" height="100%" codebase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab'> <param name="movie" value="CapabilitiesExplorer.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#869ca7" /> <param name="allowScriptAccess" value="sameDomain" /> <param name='src' value='CapabilitiesExplorer.swf'> <param name='flashvars' value=''> <embed src="CapabilitiesExplorer.swf" quality="high" bgcolor="#869ca7" width="100%" height="100%" name="CapabilitiesExplorer" align="middle" play="true" loop="false" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage='http://www.adobe.com/go/getflashplayer' name="CapabilitiesExplorer"> </embed> </object> <script language="JavaScript" charset="utf-8"> function JS_getBrowserObjects() { alert("ddd"); // Create an array to hold each of the browser's items. var tempArr = new Array(); // Loop over each item in the browser's navigator object. for (var name in navigator) { var value = navigator[name]; /* If the current value is a string or Boolean object, add it to the array, otherwise ignore the item. */ switch (typeof(value)) { case "string": case "boolean": /* Create a temporary string which will be added to the array. Make sure that we URL-encode the values using JavaScript's escape() function. */ var tempStr = "navigator." + name + "=" + escape(value); // Push the URL-encoded name/value pair onto the array. tempArr.push(tempStr); break; } } // Loop over each item in the browser's screen object. for (var name in screen) { var value = screen[name]; /* If the current value is a number, add it to the array, otherwise ignore the item. */ switch (typeof(value)) { case "number": var tempStr = "screen." + name + "=" + escape(value); tempArr.push(tempStr); break; } } tempArr.push("nav.oo=13"); // Return the array as a URL-encoded string of name-value pairs. return tempArr.join("&"); } </script> </body> </html> fichier .as : package com.example.programmingas3.capabilities { import flash.system.Capabilities; import flash.external.ExternalInterface; import flash.net.URLVariables; import flash.display.Sprite; import flash.external.*; public class CapabilitiesGrabber extends Sprite { public static function getCapabilities():Array { var capDP:Array = new Array(); capDP.push({name:"Capabilities.avHardwareDisable", value:Capabilities.avHardwareDisable}); capDP.push({name:"Capabilities.hasAccessibility", value:Capabilities.hasAccessibility}); capDP.push({name:"Capabilities.hasAudio", value:Capabilities.hasAudio}); capDP.push({name:"Capabilities.hasAudioEncoder", value:Capabilities.hasAudioEncoder}); capDP.push({name:"Capabilities.hasEmbeddedVideo", value:Capabilities.hasEmbeddedVideo}); capDP.push({name:"Capabilities.hasIME", value:Capabilities.hasIME}); capDP.push({name:"Capabilities.hasMP3", value:Capabilities.hasMP3}); capDP.push({name:"Capabilities.hasPrinting", value:Capabilities.hasPrinting}); capDP.push({name:"Capabilities.hasScreenBroadcast", value:Capabilities.hasScreenBroadcast}); capDP.push({name:"Capabilities.hasScreenPlayback", value:Capabilities.hasScreenPlayback}); capDP.push({name:"Capabilities.hasStreamingAudio", value:Capabilities.hasStreamingAudio}); capDP.push({name:"Capabilities.hasStreamingVideo", value:Capabilities.hasStreamingVideo}); capDP.push({name:"Capabilities.hasTLS", value:Capabilities.hasTLS}); capDP.push({name:"Capabilities.hasVideoEncoder", value:Capabilities.hasVideoEncoder}); capDP.push({name:"Capabilities.isDebugger", value:Capabilities.isDebugger}); capDP.push({name:"Capabilities.language", value:Capabilities.language}); capDP.push({name:"Capabilities.localFileReadDisable", value:Capabilities.localFileReadDisable}); capDP.push({name:"Capabilities.manufacturer", value:Capabilities.manufacturer}); capDP.push({name:"Capabilities.os", value:Capabilities.os}); capDP.push({name:"Capabilities.pixelAspectRatio", value:Capabilities.pixelAspectRatio}); capDP.push({name:"Capabilities.playerType", value:Capabilities.playerType}); capDP.push({name:"Capabilities.screenColor", value:Capabilities.screenColor}); capDP.push({name:"Capabilities.screenDPI", value:Capabilities.screenDPI}); capDP.push({name:"Capabilities.screenResolutionX", value:Capabilities.screenResolutionX}); capDP.push({name:"Capabilities.screenResolutionY", value:Capabilities.screenResolutionY}); capDP.push({name:"Capabilities.version", value:Capabilities.version}); var navArr:Array = CapabilitiesGrabber.getBrowserObjects(); trace(navArr.length) if (navArr.length > 0) { capDP = capDP.concat(navArr); } capDP.sortOn("name", Array.CASEINSENSITIVE); return capDP; } private static function getBrowserObjects():Array { var itemArr:Array = new Array(); var itemVars:URLVariables; if (ExternalInterface.available) { try { var wrapperFunction:String = "JS_getBrowserObjects"; var tempStr:String = ExternalInterface.call(wrapperFunction); trace(tempStr) itemVars = new URLVariables(tempStr); for (var i:String in itemVars) { itemArr.push({name:i, value:itemVars}); } } catch (error:SecurityError) { // ignore } } return itemArr; } } } Lien vers le commentaire Partager sur d’autres sites More sharing options...
khgm Posté(e) le 16 septembre 2008 Auteur Partager Posté(e) le 16 septembre 2008 pb résolu.Tout bétement, il fallait insérer le code javascript dans le html wrapper et non pas créer un nouveau html Lien vers le commentaire Partager sur d’autres sites More sharing options...
khgm Posté(e) le 16 septembre 2008 Auteur Partager Posté(e) le 16 septembre 2008 Bonjour, Je voudrais récupérer la langue choisie par l'utilisateur pour son navigateur, et non pas la langue du browser(c'est différent). actuellement,lorsque l'utilisateur envoie une requête au serveur, il envoie dans le header de la requête la langue que l'utilisateur a choisi pour son navigateur donc on peut récupérer la langue du serveur. Mais, dans mon cas, je ne veux pas le faire. ca compliquera le travail côté serveur. Alors ce que je voulais savoir, c'est : y'a t-il un moyen de récupérer la langue côté client avec du javascript au autres script ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 16 septembre 2008 Partager Posté(e) le 16 septembre 2008 Doublon... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 16 septembre 2008 Partager Posté(e) le 16 septembre 2008 Sujet en triple ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 16 septembre 2008 Partager Posté(e) le 16 septembre 2008 Merci de ne pas créer un sujet par post. Lien vers le commentaire Partager sur d’autres sites More sharing options...
khgm Posté(e) le 18 septembre 2008 Auteur Partager Posté(e) le 18 septembre 2008 Ce n'est pas le meme sujet. Si vous vous concentrez sur le contenu de mes postes, vous verrez bien que ce n'est pas la même chose. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.