LevelUp! Studio » externalinterface https://blog.levelup.in.th Experience the new world. Fri, 26 May 2017 10:06:07 +0000 th hourly 1 http://wordpress.org/?v=3.8.1 ทำให้ As3 และ Javascript คุยกันได้ ฉบับ cross-domain https://blog.levelup.in.th/2010/01/31/%e0%b8%97%e0%b8%b3%e0%b9%83%e0%b8%ab%e0%b9%89-as3-%e0%b9%81%e0%b8%a5%e0%b8%b0-javascript-%e0%b8%84%e0%b8%b8%e0%b8%a2%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%84%e0%b8%94%e0%b9%89-%e0%b8%89%e0%b8%9a%e0%b8%b1/ https://blog.levelup.in.th/2010/01/31/%e0%b8%97%e0%b8%b3%e0%b9%83%e0%b8%ab%e0%b9%89-as3-%e0%b9%81%e0%b8%a5%e0%b8%b0-javascript-%e0%b8%84%e0%b8%b8%e0%b8%a2%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%84%e0%b8%94%e0%b9%89-%e0%b8%89%e0%b8%9a%e0%b8%b1/#comments Sun, 31 Jan 2010 06:32:27 +0000 http://blog.levelup.in.th/?p=381 จากเดือนที่แล้วมีบทความ ทำให้ As3 และ Javascript คุยกันได้ ไอเทคนิคนี้เราได้เอาไปใช้กับ project UMBO ครับ ตอนอยู่บน localhost ก็ทำงานได้ปกติดีครับ แต่เมื่อเอาขึ้นเซอร์เวอร์ไปแบบแบ่งเป็นหลายๆเซอร์เวอร์เนี่ย ทำให้เกิดปัญหาขึ้นมา เพราะ ตัว flash กับ website อยู่คนละเซอร์เวอร์กัน
เหตุการณ์อย่างนี้ ต่อให้ตั้ง attribute allowScriptAccess ของ flash object เป็น always ก็ไม่สามารถทำงานได้

วิธีที่จะทำให้ flash/flex นี้ ยอมรับ javascript แบบ cross-domain ได้ จะต้องไปเพิ่มโค๊ด

Security.allowDomain( “www.example.com” );

ไปก่อนที่จะรับ javascript แบบในบทความ `ทำให้ As3 และ Javascript คุยกันได้`

]]>
https://blog.levelup.in.th/2010/01/31/%e0%b8%97%e0%b8%b3%e0%b9%83%e0%b8%ab%e0%b9%89-as3-%e0%b9%81%e0%b8%a5%e0%b8%b0-javascript-%e0%b8%84%e0%b8%b8%e0%b8%a2%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%84%e0%b8%94%e0%b9%89-%e0%b8%89%e0%b8%9a%e0%b8%b1/feed/ 0
ทำให้ As3 และ Javascript คุยกันได้ https://blog.levelup.in.th/2009/12/28/%e0%b8%97%e0%b8%b3%e0%b9%83%e0%b8%ab%e0%b9%89-as3-%e0%b9%81%e0%b8%a5%e0%b8%b0-javascript-%e0%b8%84%e0%b8%b8%e0%b8%a2%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%84%e0%b8%94%e0%b9%89/ https://blog.levelup.in.th/2009/12/28/%e0%b8%97%e0%b8%b3%e0%b9%83%e0%b8%ab%e0%b9%89-as3-%e0%b9%81%e0%b8%a5%e0%b8%b0-javascript-%e0%b8%84%e0%b8%b8%e0%b8%a2%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%84%e0%b8%94%e0%b9%89/#comments Mon, 28 Dec 2009 14:05:10 +0000 http://blog.levelup.in.th/?p=358 เรียก Function AS3 ด้วย Javascript

http://blog.code-head.com/calling-a-javascript-function-from-actionscript-3-flash

ง่ายมากมายด้วย ExternalInterface

import flash.external.ExternalInterface;
...
ExternalInterface.call("your_javascript_function()");

จะเอาค่า Return ก็ได้


var x:int = ExternalInterface.call("get_x()");

ส่ง Parameter กะได้ :-D

var retval:int = ExternalInterface.call("some_js_function", "the-argument");

เรียก Function AS3 ด้วย Javascript

http://codingforums.com/showthread.php?t=152181

Javascript

			// Provides the proper address for the movie depending on browser
			function getFlashMovie(movieName) {
			  	var isIE = navigator.appName.indexOf("Microsoft") != -1;
			  	return (isIE) ? window[movieName] : document[movieName];
			}

			function playMovie() { 
				getFlashMovie("video").JStoASviaExternalInterface("start");
			}

Action Script

function getTextFromJavaScript(str:String):Void {
		if (str = "start") {
startVideo();
}
}
ExternalInterface.addCallback("JStoASviaExternalInterface", this, getTextFromJavaScript);
]]>
https://blog.levelup.in.th/2009/12/28/%e0%b8%97%e0%b8%b3%e0%b9%83%e0%b8%ab%e0%b9%89-as3-%e0%b9%81%e0%b8%a5%e0%b8%b0-javascript-%e0%b8%84%e0%b8%b8%e0%b8%a2%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b9%84%e0%b8%94%e0%b9%89/feed/ 1