html<br>태그와 URL이 Flash에 flashvars 값을 전달합니다.
3458 단어 Flash
먼저 html 코드를 보십시오.
AS3 코드 테스트.swf:
var tf:TextField=new TextField();var str1:String =stage.loaderInfo.parameters.width; var str2:String =stage.loaderInfo.parameters.height; var str3:String =stage.loaderInfo.parameters.color; tf.text="width="+str1+"height="+str2+"color="+str3;
tf.width=300;addChild(tf);
embed의 swf는 flashvars의 값 쌍을 읽을 수 있으며, 이 때 무대에 응답 결과가 나타납니다.이런 방법은 간단한 데이터 교환으로 편리하고 xml을 읽거나 js를 빌려 외부 데이터를 얻는 것을 피할 수 있다.
만약 여러 개의 값이 맞다면 for in으로 옮겨다닐 수도 있습니다.
AS3 코드:
var tf:TextField=new TextField();var paramObj:Object=stage.loaderInfo.parameters;for(var key:String in paramObj){ tf.appendText(key+"="+paramObj[key]);}tf.width=300;addChild(tf);
읽은 flashvars는 사실 Object 형식입니다. for in으로 옮겨다닐 수 있습니다.그러나 이런 방법은 테스트를 할 때 html 파일 경로가 중국어가 되는 것을 피해야 한다. 왜냐하면 이렇게 하면 플래시가 읽은 데이터가 부호화될 수 있기 때문이다.
다른 상황을 토론하다.
만약에 이 swf가 html에 삽입되지 않고 http://www.abc.com/test.swf 이런 방식으로 열면 플래시 스테이지.loaderInfo.parameters는 데이터를 얻지 못하지 않습니까?
사실도 아니니 방법을 바꾸어도 무방하다.만약 당신이 뒤에 상응하는 매개 변수를 추가한다면 http://www.abc.com/test.swf?width=300&height=500&color=blueenter가 이 페이지를 열면 무대에 url이 전해온 값이 표시되고 url이 Stage에 전해진 값이 표시되는 것을 발견할 수 있습니다.loaderInfo.parameters 객체에 있습니다.이 방법은 로컬에서 테스트할 수 없습니다. 서버에 localhost와 같이 두어야 합니다.
이 예에서는 다음과 같이 코드가 정리되어 있습니다.
html:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Flash embed </title>
</head>
<body>
<div>
<object>
<embed src="test.swf" wmode="transparent" quality="high" width="550" height="400" align="L" scale="noborder" flashvars="width=300&height=500&color=blue" allowScriptAccess="sameDomain" type="application/x-shockwave-flash">
</embed>
</object>
</div>
</body>
</html>
AS3 코드:
var tf:TextField=new TextField();
var str1:String =stage.loaderInfo.parameters.width;
var str2:String =stage.loaderInfo.parameters.height;
var str3:String =stage.loaderInfo.parameters.color;
tf.text="width="+str1+"height="+str2+"color="+str3;
// for in
/*var paramObj:Object=stage.loaderInfo.parameters;
for(var key:String in paramObj){
tf.appendText(key+"="+paramObj[key]);
}*/
tf.width=300;
addChild(tf);
==================================================
그린 가든
출처: http://www.cnblogs.com/cos2004/archive/2011/03/30/1999925.html
==================================================
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
writeFlashHTML, 주로 Flash 출력에 사용되는 JS 방법입니다.텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.