جاوا اسكريپت كارها كمك كنيد

سلام
لطفا كد زير را ببينيد و اجراش كنيد
کد:
<script language="javascript">
                  document.write ('<iframe  id="message" width="490" height="200"></iframe>')
                  frames.message.document.designMode = "On";
          </script>
من بايد از اين كد در قسمتي از صفحه اي كه طراحي ميكنم استفاده كنم ولي چند تا مشكل دارم باهاش
اول اينكه مي خواهم به طور پيش فرض بتوانم در آن فارسي بنويسيم (البته توي سايت گشتم و طريقه اينكه در يك تكس باكس به طور پيش فرض بشود فارسي نوشت را ياد گرفتم اما در اين برنامه جاوا نمي دانم :cry: )
دوم انيكه زماني كه در آن داري تايپ مي كني و مي خواهي بروي خط بعد و اينتر را مي زني بين دو خط خيلي فاصله ايجاد مي كند بايد چه كار كنم تا فاصله بين دو خط كمكتر باشد

با تشكر از همه كساني كه به ديگران كمك مي كنند تا مشكلشان حل شود
 

saman_sweden

Active Member
Re: كساني كه جاوا كار ميكنيد كمك!

amirasal2002 گفت:
سلام
لطفا كد زير را ببينيد و اجراش كنيد
کد:
<script language="javascript">
                  document.write ('<iframe  id="message" width="490" height="200"></iframe>')
                  frames.message.document.designMode = "On";
          </script>
من بايد از اين كد در قسمتي از صفحه اي كه طراحي ميكنم استفاده كنم ولي چند تا مشكل دارم باهاش
اول اينكه مي خواهم به طور پيش فرض بتوانم در آن فارسي بنويسيم (البته توي سايت گشتم و طريقه اينكه در يك تكس باكس به طور پيش فرض بشود فارسي نوشت را ياد گرفتم اما در اين برنامه جاوا نمي دانم :cry: )
دوم انيكه زماني كه در آن داري تايپ مي كني و مي خواهي بروي خط بعد و اينتر را مي زني بين دو خط خيلي فاصله ايجاد مي كند بايد چه كار كنم تا فاصله بين دو خط كمكتر باشد

با تشكر از همه كساني كه به ديگران كمك مي كنند تا مشكلشان حل شود
دوست من اولا اين برنامه شما javascript است java نيست هركه ميگه java با javascript يكي يا از يه خانواده است اشتباه مي كنهjavascript با java زمين تا آسمان فرق مي كنه
اما سوال شما
شما عملا نمي توانيد از iframe براي فارسي استفاده كنيد ميشه ولي كلي برنامه نويسي ميخواهد
دوم شما بايد ساده ترين راه را انتخاب كنيد يعني از textarea كه ميتونيد از راست به حپ ويا برعكس بنويسيد

کد:
<textarea dir="rtl" id="message" width="490" height="200"></textarea>
در ضمن يادتون نره اين كد را بالاي سايت بنويسيد
کد:
<head>
<title>saman_swden</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
 
شما كاملا درست ميگين جاوا با جاوا اسكريپت خيلي فرق داره اما در قسمت موضوع تعداد كاركترهايي كه مي شود نوشت محدود است به خاطر همين مجبور شدم از جاوا خالي استفاده كنم به هر حال از تذكر شما ممنونم

راستش من مجبورم از iframe استفاده كنم چون بايد يك فايل ديگر را هم فراخواني كنم
کد:
		  document.write ('<iframe src="box.asp" id="message" width="490" height="200"></iframe>')
 
در اصل من می خواهم از این کد جاوا اسکریپت برای ایجاد یک ادیتور استفاده کنم و کاربر متن مورد نظرش رو در این iframe می نویسه و بعد اگه بخواهد رنگ متنش رو عوض کن تغییر رنگ در همان جا اعمال می شود و مثل این ادیتور آقا مجید نیست که کدش را بنویسه
به خاطر همین باید اون فایلی را که این کار را انجام می دهد در این iframe فرا خوانی کنم
به همین علت مجبورم از iframe استفاده کنم و نمی شود از textarea استفاده کنم

اگه راهی به نظرتون میرسه بگین ممنون
 

saman_sweden

Active Member
amirasal2002 گفت:
در اصل من می خواهم از این کد جاوا اسکریپت برای ایجاد یک ادیتور استفاده کنم و کاربر متن مورد نظرش رو در این iframe می نویسه و بعد اگه بخواهد رنگ متنش رو عوض کن تغییر رنگ در همان جا اعمال می شود و مثل این ادیتور آقا مجید نیست که کدش را بنویسه
به خاطر همین باید اون فایلی را که این کار را انجام می دهد در این iframe فرا خوانی کنم
به همین علت مجبورم از iframe استفاده کنم و نمی شود از textarea استفاده کنم

اگه راهی به نظرتون میرسه بگین ممنون
راه داره ولي توضيحش با دو سه خط تموم نميشه
متاسفم ولي وقت زياد ميبره
من اينكار را قبلا كردم راهش هم ميدونم اما كلي وقت گير است پيشنهادم اينه بريد اديتور hotmail را دان لود كنيد و كدش را ببينيد
اديتور hotmail يك نمونه كامل از iframe است
البته مستقيم نمي تونيد دان لود كنيد بهتره source code ش را تو نت پد باز كنيد و سپس save كنيد
بيشتر از اين متاسفم
 
آقا سامان همين قدر كه همين چند خط را هم مي نويسيد ممنون هستم لطف مي كنيد
عزيز من هات ميل را ديدم من مشكلم اين است كه بشود در آن به طور پيش فرض فارسي بنويسم به خاطر همين هم هات ميل دردي از من درمان نكرد

فقط بگين با اين كد جاوا اسكريپتي كه از آن براي ست كردن فارسي در تكس باكس استفاده مي شود مي توانم استفاده كنم يا بايد شيوه ي ديگري را استفاده كنم

منظورم از اين مقاله است
http://www.majidonline.com/modules.php?name=Content&pa=showpage&pid=49
 

saman_sweden

Active Member
amirasal2002 گفت:
آقا سامان همين قدر كه همين چند خط را هم مي نويسيد ممنون هستم لطف مي كنيد
عزيز من هات ميل را ديدم من مشكلم اين است كه بشود در آن به طور پيش فرض فارسي بنويسم به خاطر همين هم هات ميل دردي از من درمان نكرد

فقط بگين با اين كد جاوا اسكريپتي كه از آن براي ست كردن فارسي در تكس باكس استفاده مي شود مي توانم استفاده كنم يا بايد شيوه ي ديگري را استفاده كنم

منظورم از اين مقاله است
http://www.majidonline.com/modules.php?name=Content&pa=showpage&pid=49
توي iframe شما نميتوانيد از كد dir="rtl" اسفاده كنيد اين كد براي iframe تعريف مستقيم نشده براي همين بايد برنامه نويسي كنيد
 
آقا سامان جان ممنون از راهنمايهايتان

كسي پيدا نشد وقت داشته باشه بيشتر به ما كمك كند :cry:
 

hoom

Active Member
سلام

براي اينتر راهي ندارين بغير از اينكه اون رو به Shift+Enter تغيير بدين و يا اينكه با زدن اينتر يه
به متنتون بفرستين.
در مورد دوم هم شما از IFrame استفاده كرده اين كه Event براي كليدها نداره. بجاي اون از DIV استفاده كنين. اين هم برنامه شما :

کد:
<HTML>

<head> 
<title>Editor</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
</head>

<script language="Javascript" type="text/javascript">

function storeCaret(textEl) {
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();

}
var lang = 1;	// 1: Farsi, 0: English

// Farsi keyboard map based on ISIRI-2901
var farsikey = [
   0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 0x066A, 0x060C, 0x06AF,
   0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F,
   0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
   0x0038, 0x0039, 0x003A, 0x0643, 0x003E, 0x003D, 0x003C, 0x061F,
   0x066C, 0x0624, 0x200C, 0x0698, 0x0649, 0x064D, 0x0625, 0x0623,
   0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D,
   0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C,
   0x0058, 0x0650, 0x0643, 0x062C, 0x005C, 0x0686, 0x00D7, 0x0640,
   0x200D, 0x0634, 0x0630, 0x0632, 0x064A, 0x062B, 0x0628, 0x0644,
   0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x067E, 0x062F, 0x062E,
   0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635,
   0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E ];


function changeLang() {
    if (lang == 0) {
    lang = 1;
    return true;
  }
  else {
    lang = 0;
    return true;
  }
}

function FKeyDown (txtFrm){
 var key = window.event.keyCode;
 
 if (key == 145){
    if (lang == 0) {
      lang = 1;
      return true;
    }
    else {
      lang = 0;
      return true;
    }

}

}
function FKeyPress(txtFrm) {
   var key = window.event.keyCode;

  if (key == 13) { window.event.keyCode = 13; return true; }
  
  
   if (lang == 1) { // If Farsi
     if (key == 0x0020 && window.event.shiftKey) // Shift-space -> ZWNJ
       window.event.keyCode = 0x200C;
     else
       window.event.keyCode = farsikey[key - 0x0020];
     if (farsikey[key - 0x0020] == 92) {
        window.event.keyCode = 0x0698;
     }
     if (farsikey[key - 0x0020] == 8205) {
        window.event.keyCode = 0x067E;
     }
   }
   return true;
}

function change(obj){
if (lang==0)
lang=1
else
lang=0;
obj.focus();
}
</script>

<DIV Align=Left ID="HTMLEditorFrameID" NAME="HTMLEditorFrameName" CLASS="HTMLEditor" contentEditable="true" STYLE="height:280; width:100%; background-color:white; padding:3; border:2px inset #CCCCCC; scrollbar-base-color:#CCCCCC; overflow=auto; font-familiy:Arial; font-size:12px;" onkeypress=FKeyPress(this); onkeydown=FKeyDown(this);></DIV>

</HTML>
 

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

بالا