وقتی فلش مورد نظر روی سی دی است و میخواهیم که outlook را باز کندواز برنامه های server

nedanina

New Member
با تشکر از اینکه به سوالات پاسخ می دهید.وقتی فلش مورد نظر روی سی دی است و میخواهیم که outlook را باز کندواز برنامه های server side استفاده نمیکند. outlook آدرس میل را از روی فرم پیدا می کند subject , body را نم تواند پیدا کند یعنی بعد از علامت سوال را نمی فهمد.
on (release) {
getURL("mailto:[email protected]?subject=Feedback" +"&body=" +body);
}
فقط outlookباز می شود و آدرس گیرنده را می گیردو موضوع و بادی ندارد. لطفا بفرمایید چه کنم .
 

CMAX

Member
سلام
از این روش استفاده کنید


کد:
getURL("mailto:[email protected]?subject=" +
escape(tfSUB.text) + "&body=" +
escape(tfBody.text));

برای کد شما اینطور می شود :
کد:
getURL("mailto:[email protected]?subject=" +
escape("Feedback") + "&body=" +
escape(body));

مشکل اینجا بود که شما باید اول String را به فرمت URL-encoded تبدیل می کردید مثلا شما نوشتید "Feedbac k"و در حالت URL-encoded
این می شود "Feedbac%20k"و تابع escape این کار را برای شما انجام می دهد .
 
آخرین ویرایش:

nedanina

New Member
geturl

سلام ممنون از جوابگویی شما.با پوزش منظور من این است که علامت سوال در تگ geturl شناخته نمی شودو همه نوشته های بعد از آن را نادیده می گیرد.چه کنم تا علامت سوال و کلا این subject? را بفهمد؟
با تشکر
 

CMAX

Member
سلام
شرمنده نتونستم زودتر جواب بدم

خوب راستش در مورد اینکه با زدن یک Button و بدون اینکه SWF درون یک صفحه Html باشد که به نظر راه حلی نیست اما در صورتی که داخل صفحه Html باشد حق با شماست و بعد از علامت سوال رو نمی گیرد و فکر نمی کنم بتونم این کار رو انجام بدم اما خوب یه جور دیگه حلش کردم

تکست فیلد می تونه Html بگیره و اون رو تحت وب بروزر اجرا کنه خوب ما هم به صورت htm بهش میگیم چه کار کنه

OK
این کد رو تو فریم اول یه FLA بذاز و CTRL+Shift+F12 رو بزن اگه از Publish Setting عبارت HTML تیک نخوره تیک بزن و OK و بعد F12

کد:
txt = _root.createTextField("txt", 10, 100, 100, 100, 100);
txt.html = true;
txt.htmlText = '<a href="mailto:[email protected]?subject=Subject&body=body">Send email !</a>';

اما اگه فقط فایل SWF رو اجرا کنی هیچ اتفاقی روی نمیده

روش دوم اینکه یک تکست فیلد داینامیک بساز و در قسمت Proprties در محل مخصوص URL Link این عبارت رو وارد کن

کد:
mailto:[email protected]?subject=Subject&body=body
بازهم درست عمل می کند اما امکان اینکه body را بصورت داینامیک اضافه کنی نیست اما با استفاده از حالت بالا می تونی یک تکست فیلد بسازی وHTMLم را برایش فعال کنی و بعد htnlText رو بهش بدی

یکم حوصله به خرج دادم و این کد رو نوشتم ببین بدرد کارتون می خوره

کد:
//CMAX ----- 23/1/2007 ------ 22:20
var Send:String = "Send Email ! ";
_root.createTextField("sub", _root.getNextHighestDepth(), 150, 40, 200, 20);
_root.createTextField("body", _root.getNextHighestDepth(), 150, 80, 200, 200);
_root.createTextField("txt", _root.getNextHighestDepth(), 150, body._y+body._height+20, 50, 20);
body.text = "Type You Description Heare ...";
sub.text = "Type You email Subject Heare ...";
txt.autoSize = true
sub.border=body.border=true;
sub.type = body.type='input';
txt.html = true;
txt.selectable = false;
sub.onChanged = body.onChanged=function ()
{
	txt.htmlText = '<a href="mailto:[email protected]?subject='+sub.text+"&body="+body.text+"\">"+Send+"</a>";
};
txt.htmlText = '<a href="mailto:[email protected]?subject='+sub.text+"&body="+body.text+"\">"+Send+"</a>";
////// For Fun /////////////
var fmt:TextFormat =  new TextFormat();
with(fmt)
{
	font='tahoma'
	size='10'
	color='0x444444'
	
}
for(i in _root)
{
	_root[i].setTextFormat(fmt)
	_root[i].setNewTextFormat(fmt);
	_root[i].borderColor=0xcccccc
}
_root.createEmptyMovieClip("mc",-1);
mc.beginFill(0xf3f3f3,100);
mc.lineStyle(1,0x999999,100)
mc.moveTo(0,0);
mc.lineTo(txt._width+10,0)
mc.lineTo(txt._width+10,20)
mc.lineTo(0,20)
mc.lineTo(0,0)
mc._x=txt._x
mc._y=txt._y
txt._x+=5
txt._y +=3
////////////////////////////////Have Good Time /////////////
//CMAX ----- 23/1/2007 ------ 22:20

یه FLA جدید بساز و فقط کپی کن تو فریم اول
بصورت طریقی که در بالا گفتم publish کنید و تحت بروزر امتحان
راستش من دیگه چیزی به نظرم نمی رسه اگه نتونستم کمک کنم دو حالت داره یا من بلد نیستم یا امکان نداره
:wink:

بای
 
بالا