فرستادن متغیر توفلش با استفاده از جاوا اسکریپت ( یاد بگیرید )

tafrehzan

Member
سلام
در این مقاله نحوه فرستادن متغیر به فلش بااستفاده از جاوا را آموزش میدهم

فایل آموزش درپیوست ها موجود است که مرتب شده مطالب زیر است

درابتدا یک فایل به نام YourFileName می سازیم و فایل setvariables.as را بااستفاده از دستور
#include "setvariables.as"
به آن اضافه میکنیم
و یک TextBox با نام متغیر var=text می سازیم
این تنظیمات را هم برایاین textbox قرارمیدهیم

this.text.autoSize = "left";

this.text.autoSize = "center";
یا
this.text.autoSize = "right";

برای ساختن صفحه وب یا همان html این کد را مورد استفاده قرار می دهیم

/* -----------------------------------------------------------
----------Supporting Browsers----------
PC:
IE 5 and higher
Netscape 6 and higher
Moz/Firebird all
Opera 7 and higher Mac OSX:
IE 5.2
Safari all
Netscape 6 and higher
Moz/Firebird/Camino all
Opera 6 and higher

Linux:
Konqueror assumed
----------------------------------------------------------- */
var ua = navigator.userAgent.toLowerCase();
var is_pc_ie = ((ua.indexOf('msie') != -1) && (ua.indexOf('win') != -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1));
/* -----------------------------------------------------------
function setFlashVariables(movieid, flashquery)

movieid: id of object tag, name of movieid passed in through FlashVars
flashquery: querystring of values to set. example( var1=foo&var2=bar )
----------------------------------------------------------- */
function setFlashVariables(movieid, flashquery) {
var i, values;
if (is_pc_ie) {
var chunk = flashquery.split("&");
for (i in chunk) {
values = chunk.split("=");
document[movieid].SetVariable(values[0], values[1]);
}
} else {
var divcontainer = "flash_setvariables_"+movieid;
if (!document.getElementById(divcontainer)) {
var divholder = document.createElement("div");
divholder.id = divcontainer;
document.body.appendChild(divholder);
}
document.getElementById(divcontainer).innerHTML = "";
var divinfo = "<embed src='YourFileName.swf' FlashVars='lc="+movieid+"&fq="+escape(flashquery)+"' width='0' height='0' type='application/x-shockwave-flash'></embed>";
document.getElementById(divcontainer).innerHTML = divinfo;
}
}
که در آن فلش شما فقط با استفاده از این کد اجرامیشود !!!

این کد را هم در فایلی جداگانه با نام setvariables.js ذخیره کنید درهمان محلی که فایل فلش شما قراردارد

// -----------------------------------------------------------
if(!_level0.$jslisten_init){
Stage.$jsvarlistener = new LocalConnection();
Stage.$jsvarlistener.setVariables = function(query) {
var i, values;
var chunk = query.split("&");
for (i in chunk) {
values = chunk.split("=");
_root[values[0]] = values[1];
}
};
Stage.$jsvarlistener.connect(_level0.movieid);
_level0.$jslisten_init = true;
}



شما میتونین یه فرم بسازین و متغیر خود را همان موقع به فلش ارسال کنید
به اینصورت که یک صفحه جدید بسازید و این کد را در قسمت head قرار دهید
<script language="javascript" type="text/javascript" src="setvariables.js"></script>
<script language="javascript" type="text/javascript">
function SendMyInfo(){
// Remove the "Please Enter A Message To Be Sent To Flash" if you do not what a default message to appear in the prompt
// The "Enter a number to change the car size and press ok" is the question that you want to prompt the user for an answer to.
// You may change this to any question you like
var GetMessage = prompt("Enter a number to change the car size and press ok","Please Enter A Message To Be Sent To Flash");
if(GetMessage == null){
//Remove The Line Below If You Do Not Want A Cancel Message Sent To Flash
setFlashVariables('GetInfo','carWidth=100')
}else{
setFlashVariables('GetInfo','carWidth='+GetMessage+'')
}
}
</script>

این هم کدی است که شما برای نشان دادن فلش در صفحه خود استفاده میکنید
<OBJECT id="GetInfo" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="410" height="160">
<PARAM NAME="movie" VALUE="send-info.swf">
<PARAM NAME="quality" VALUE="high">
<PARAM NAME="menu" VALUE="true">
<EMBED src="send-info.swf" quality="high" menu="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="410" height="160" swLiveConnect="true" NAME="GetInfo"> </EMBED>
</OBJECT>

<form name="formSendInfo" method="post" action="">
<input type="button" name="Button" value="Click Here To Send Your Own Message To Flash" onClick="SendMyInfo();"><br />
// Note: You can also use:
<input type="button" name="Button" value="Click Here To Set the car width to 50" onclick="setFlashVariables('GetInfo','carWidth=50')" />
// If you want to set a variable in the flash movie without using a prompt or giving the user an option to enter their own value
// This just allows you other ways to send information to flash. You could use a text link or anything you like =0)
</form>

با اجراشدن دگمه متن مورد نظر خود رامیتوانید به فلش ارسال کنید
 

پیوست ها

  • Sample.rar
    1.6 کیلوبایت · بازدیدها: 16
  • el_100.rar
    2.9 کیلوبایت · بازدیدها: 16
سلام.
آموزش این کار خیلی ساده تر امکان پذیر بود.
به دوستان یاد آوری کنم که این امر در صورتی امکان پذیر است که مقدار درستی در این بخش از فایل
<param name="allowScriptAccess" value="sameDomain" />
HTML حاوی فلش شما نوشته بشه.
always
sameDomain
never
 

CMAX

Member
سلام.
آموزش این کار خیلی ساده تر امکان پذیر بود.
به دوستان یاد آوری کنم که این امر در صورتی امکان پذیر است که مقدار درستی در این بخش از فایل
<param name="allowScriptAccess" value="sameDomain" />
HTML حاوی فلش شما نوشته بشه.
always
sameDomain
never

اگه کاربر این گزینه را ننویسد و یا مقدار آن را مشخص نکند درست عمل می کند این مقدار برای فلش پلیر 7 و به بالا
در صورتی که تنظیم نشود always است و اگر هم مفدار پیش فرض یعنی sameDomain باشد که خوب مشکلی
با توجه به آموزش ایشان ایجاد نمی کند
 

جدیدترین ارسال ها

بالا