Я использую следующий код AS для вызова функции javascript, которая вернет мне требуемое значение.Action Script ExternalInterface.call() Проблема
package
{
import flash.display.Sprite;
import flash.media.Camera;
import flash.media.Video;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.events.MouseEvent;
import flash.net.FileReference;
import flash.utils.ByteArray;
import com.adobe.images.JPGEncoder;
import flash.external.ExternalInterface;
public class Main extends Sprite
{
private var camera:Camera = Camera.getCamera();
private var video:Video = new Video();
private var bmd:BitmapData = new BitmapData(320,240);
private var bmp:Bitmap;
private var fileReference:FileReference = new FileReference();
private var byteArray:ByteArray;
private var jpg:JPGEncoder = new JPGEncoder();
var id:int;
public function Main():void
{
saveButton.visible = false;
discardButton.visible = false;
saveButton.addEventListener(MouseEvent.MOUSE_UP, saveImage);
discardButton.addEventListener(MouseEvent.MOUSE_UP, discard);
capture.addEventListener(MouseEvent.MOUSE_UP, captureImage);
if (camera != null)
{
video.smoothing = true;
video.attachCamera(camera);
video.x = 140;
video.y = 40;
addChild(video);
}
else
{
trace("No Camera Detected");
}
}
private function captureImage(e:MouseEvent):void
{
bmd.draw(video);
bmp = new Bitmap(bmd);
bmp.x = 140;
bmp.y = 40;
addChild(bmp);
capture.visible = false;
saveButton.visible = true;
discardButton.visible = true;
}
private function saveImage(e:MouseEvent):void
{
byteArray = jpg.encode(bmd);
id=ExternalInterface.call("getID()");
fileReference.save(byteArray, id+".jpg");
removeChild(bmp);
saveButton.visible = false;
discardButton.visible = false;
capture.visible = true;
}
private function discard(e:MouseEvent):void
{
removeChild(bmp);
saveButton.visible = false;
discardButton.visible = false;
capture.visible = true;
}
}
}
Однако, когда функция вызывается, то кажется, что это возвращает меня-всегда ,,,,, старался понять этот вопрос, но я предполагаю, что я не в состоянии понять это out.I пытался предупредить значение, возвращаемое функцией javascript, правильно,
function getID() {
var idno = $('#ctl00_ContentPlaceHolder1_memberidcam').val();
alert(idno);
return idno;
}
Пожалуйста, помогите мне. Thanks
,,, я пробовал, но до сих пор я не могу понять это ,,,, плохо stuggling с этим .... Спасибо за ваш интерес – freebird
Наконец после часа борьбы ,, я получил его работу ,,, вопрос здесь был я вызывал метод javascript таким образом id = ExternalInterface.call ("getID()"); Я не знаю, почему, но это был вопрос, я изменил его на следующие и работал для меня id = ExternalInterface.call ("getID"); – freebird