Flex3ÓëÒ³ÃæJavaScriptµÄÏ໥µ÷ÓÃ
ÈÕǰ×öÏîÄ¿£¬ÐèÒª°ÑÒ³ÃæµÄJS´úÂë³é³öÀ´·Åµ½Ò»¸ö.jsÎļþÖУ¬ÓÉÓÚflex³ÌÐòÊÇÒÔdiv+SWFObjectµÄ·½Ê½Ç¶Èëµ½Ò³ÃæµÄ£¬ÎªÁ˴ﵽĿ±êÍøÕ¾Ö»ÐèÒªÒýÓÃÒ»¸ö.jsÎļþ¼´ÊµÏÖÒýÓÃÏîÄ¿¹¤³ÌµÄÄ¿µÄ£¬ËùÒÔÒ²Òª°ÑSWFObjectµÄ´úÂë·Åµ½.jsÎļþÖС£
˼·ÊÇÓÃdocument.write()°ÑÒýÓÃswfÎļþµÄ´úÂëд½øÒ³Ã棬Ȼºó°ÑflexÒªµ÷ÓõÄjsº¯Êý¶¼·Åµ½.jsÎļþÖÐ
ºÜ¿ì£¬¾ÍÇ¨ÒÆÍê±ÏÁË¡£²âÊÔing...
Ïë²»µ½µÄÊÇ£¬flexÖÐÓÃExternalInterface.call("methodName",params);µ÷JSº¯ÊýȱûÓзµ»ØÖµ£¬ÓÃalert("a")µ¯³öһϣ¬¹ûȻûÓе÷Óõ½¡£ÕâÊÇÎªÊ²Ã´ÄØ£¿ÄѵÀ°ÑSWFÓÃdocument.writeµÄ·½Ê½¼ÓÈëµ½Ò³ÃæºóȨÏÞ½µµÍÁË£¿
·Å¹·ÕÒÁËһϣ¬Ëƺõ´ó¼ÒµÄµ÷Óö¼ºÜÕý³£……°¦……ÈËÉú×îÍ´¿àµÄÊÂÇéιýÓÚ´ËÁË¡£
ͻȻÏëµ½infoqµÄһЩÁ¬½ÓÏÔʾµÄÊÇÀàËÆjavascript:void(0)µÄ×ÖÑù£¬ÓÚÊǺõ£¬ÎÒÏëµ½ÁËÓÃflexµÄURLRequestµ÷ÓÃÒ³ÃæµÄJS¡£
Á¢¿Ì³¢ÊÔ
flexÖУº
var req:URLRequest = new URLRequest("javascript:test('hello')");
navigateToURL(req,"_self");
ÔÚJSÖУº
function test(str){
alert("ÄãºÃ" + str);
return "world";
}
ä¯ÀÀÆ÷µ¯³ö¶Ô»°¿ò£¬ÀïÃæµÄÎÄ×ÖÏÔʾҲÕý³£¡£
Õâ˵Ã÷ÓÃURLRequestµ÷ÓÃÊÇûÎÊÌâµÄ¡£
µ«ÊÇ……ä¯ÀÀÆ÷È´Ìø×ªÁË£¬Ò³ÃæÏÔʾworld¡£
ºÜÃ÷ÏÔ£¬²»¿ÉÒÔµ¥´¿µØÕâôµ÷¡£
Ôõô°ìÄØ£¿·ÁËÒ»ÏÂflexµÄÎĵµ£¬ÔÀ´ExternalInterfaceÓиöaddCallBackµÄ·½·¨£¬Ê¹ÓÃËü¿ÉÒÔ½¨Ò»¸öJSµÄ»Øµ÷º¯Êý
ʹÓ÷½·¨ÈçÏ£º
ExternalInterface.addCallBack("returnValue",returnValue);//µÚÒ»¸ö²ÎÊýÊÇ¿ª·Å¸øJSµÄº¯ÊýÃû£¬µÚ¶þ¸ö²ÎÊýÊǶÔÓ¦µÄAS·½·¨¡£
flexÖУº
public function invokeJavaScript(details:String):void{
var JavaScriptRequest:URLRequest = new URLRequest("javascript:" + details);
navigateToURL(JavaScriptRequest,"_self");
}
public function returnValue(value:String):void{
this.value = value;
}
private function testASJS():void{
invokeJavaScript("test('seal','ÀϺú')");
}
jsÖУº
function thisMovie(flexName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[flexName];
} else {
return document[flexName];
}
}
function sendToActionScript(flexName,value) {
thisMovie(flexName).returnValue(value);
}
function test(flexName,param1){
sendToAction
Ïà¹ØÎĵµ£º
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalAlign="top" applicationComplete="init()">
<mx:Script>
<![CDATA[
import mx.events.ItemClickEvent;
import mx.collections.ArrayCollection ......
ʲôÊÇCairngorm£¿
Cairngorm£¨ÖÐÎÄÃû£º“ÑÌË®¾§”£¿£©ÊÇÒ»¸öÇáÁ¿¼¶µÄFlex RIA³ÌÐò¿ª·¢¿ò¼Ü£¬´Ó¶øÊ¹³ÌÐò¿ÉÀ©Õ¹ÐÔ¡¢¿Éά»¤ÐÔ¶¼´ó´óÌá¸ß£¬Æä±¾Éí²¢²»ÊÇÒ»¸öÍêÕûµÄÆóÒµÓ¦Óã¬ËüÖ»ÊÇÌṩÁËÒ»¸ö¿ª·¢¹Ç¼Ü£¬Adobe³ÆÖ®ÎªÌåϵ¡£
CairngormÌåϵ
Ö÷Òª°üÀ¨ÒÔϼ¸¸ö²¿·Ö£º
1¡¢VO£¨Value Object£©
IValueObject ºÍ ValueO ......
JavaScript For Ñ»·
Previous Page
Next Page
JavaScript ÖеÄÑ»·ÓÃÀ´½«Í¬Ò»¶Î´úÂëÖ´ÐÐÖ¸¶¨µÄ´ÎÊý£¨»òÕßµ±Ö¸¶¨µÄÌõ¼þΪ true ʱ£©¡£
ʵÀý
For Ñ»· ÈçºÎ±àд loop Ñ»·À´°´ÕÕÖ¸¶¨µÄ´ÎÊýÖ´ÐÐÏàͬµÄ´úÂë¡£ Ñ»·²úÉú HTML ±êÌâ ÈçºÎʹÓÃLoopÑ»·À´²úÉú²»Í¬µÄHTML±êÌâ¡£
JavaScript Ñ»·
ÔÚ±àд´úÂëʱ£¬Äã³£³£Ï£Íû· ......
JavascriptÖÐfunction¼´ÎªÀ࣬ÔÚfunctionÄÚ²¿ÓÃthisÉèÖÃÀàµÄpublic³ÉÔ±±äÁ¿Óë·½·¨£¬ÀýÈ磺
function myclass(name){
¡¡¡¡¡¡¡¡var str = "private string";¡¡¡¡¡¡¡¡//private field
¡¡¡¡¡¡¡¡function privatefn(){¡¡¡¡¡¡¡¡¡¡¡¡//private method¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡alert(str);
¡¡¡¡¡¡¡¡};
¡¡¡¡¡¡¡¡this.name = name;
¡¡ ......
===============================
ͼÁé³ÌÐòÉè¼Æ´ÔÊ飨Web¿ª·¢ÏµÁУ©
===============================
The Essential Guide to Flex 2 with ActionScript 3.0
&nb ......