clipBoard (این کد چطوری کار می کنه؟)

foranyone

Well-Known Member
سلام به دوستان عزیز :wink:

چند وقت پیش یه کدی رو پیدا کردم (فک کنم تو صفحات قدیمی همین انجمن ولی دقیقا یادم نیست کجا)

که می تونه اطلاعات (متن) رو به کلیپبورد کپی کنه و حتی اطلاعات رو از کلیپبورد ویندوز بخونه!!!:shock:

این کد باعث شد تا بدونم که هیــــــــــــــــــــــــچی از جاوااسکریپت بلد نیستم:cry:


کد رو براتون می ذارم لطفا برام کدهایی رو که مشخص می کنم تفسیر کنین:

کد:
<html>
<head>
<script language="javascript">
bBool=false;
var copiedtext="";
var tempstore="";
function initiatecopy() {
bBool=true;
}
function copyit() {
if (bBool) {
tempstore=copiedtext;
document.execCommand("Copy");
copiedtext=window.clipboardData.getData("Text");
if (tempstore!=copiedtext) {
alert(copiedtext);
}
bBool=false;
}
}
document.onselectionchange =initiatecopy;
document.onmouseup =copyit;
</script>
<title></title>
</head>
<body>
<textarea name="Name" rows=15 cols=30 wrap="off"></textarea> <br />
Select the text to copy to clipboard!
</body>
</html>

یه چیزی داخل textarea بنویسید بعد select کنین کپی میشه!!:shock:
اگه از قبل چیزی تو کلیپبورد ویندوز باشه با اولین کلیک تو textarea با یه alert براتون نشون میده!!!!:shock:

ولی هیچ ارتباطی بین textarea و دستورات جاوا اسکریپت در ظاهر دیده نمیشه! (خیلی جالبه)

خواهشا هرکی این کد رو نوشته یا اطلاعاتی در باره این دستورات داره برام توضیح بده:

کد:
document.execCommand("Copy");
دیگه چه دستوراتی میشه اجرا کرد؟

کد:
document.onselectionchange =initiatecopy;

کد:
document.onmouseup =copyit;

copyit اسم تابعه؟ یا یه جور command محسوب میشه:-؟:shock:

رویدادهای document رو هم ممنون میشم بنویسن!

واقعا به نویسنده این کد تبریک میگم:rose::oops:
 

eAmin

Well-Known Member
سلام.

این یکی از خاصیت های IE هست، که امکان کپی کردن text رو به کاربر می ده، معمولا مورد استفاده ش در ادیتورهای wysiwyg هست.
----------------------
چیز خاصی نداره، می خوای خط به خطش رو توضیح بدم یا نه؟!؟!؟
فعلا به سوالاتی که پرسیدی جواب می دم.
دیگه چه دستوراتی میشه اجرا کرد؟
Paste,Cut, Bold و ...
اسم تابعه؟ یا یه جور command محسوب میشه:-؟:shock:
تابعه!!!
ولی هیچ ارتباطی بین textarea و دستورات جاوا اسکریپت در ظاهر دیده نمیشه! (خیلی جالبه)
به این کد دقت کن:
کد:
document.onselectionchange =initiatecopy;
همونطور که می بینید به هیچ چیز خاصی اشاره نمی کنه، و منظورش از document هر چیزیه که توی اون صفحه ی جاری موجوده.
برای امتحان شما کافیه اون متنی رو که زیر textarea نوشته شده رو هم سلکت کنید، اونوقت نتیجه رو می بینید!
رویدادهای document رو هم ممنون میشم بنویسن!
رویدادهاش که زیادن:
http://www.w3schools.com/jsref/jsref_events.asp
واقعا به نویسنده این کد تبریک میگم:rose::oops:
چیز زیاد شاخی هم نیست.
اسکریپتهایی هستند که این یکی انگشت کوچکشون هم نیست!!!!!
 

foranyone

Well-Known Member
امین جان خیلی مرسی

یعنی این کد فقط در IE کار می کنه؟!

کدی رو بشه متن رو در clipboard کپی کرد و تو همهی مرورگر ها کار کنه دارین؟

چیز زیاد شاخی هم نیست.
اسکریپتهایی هستند که این یکی انگشت کوچکشون هم نیست!!!!!

شاید من زیادی بی تجربم!
 

eAmin

Well-Known Member
امین جان خیلی مرسی

یعنی این کد فقط در IE کار می کنه؟!

کدی رو بشه متن رو در clipboard کپی کرد و تو همهی مرورگر ها کار کنه دارین؟



شاید من زیادی بی تجربم!
سلام.

بله.

قبلا این کد در مرورگرهای mozilla وجود داشت! اما به خاطر مسائل امنیتی این امکان رو حذف کردند!!!

به نظر من تنها راهش استفاده از فلش هست، سایت tinypic قبلا یادمه یه چنین کاری رو کرده بود.

نفرمایید!!!

هممون، یه زمانی بی تجربه بودیم، ولی به مرور زمان، پخته تر شدیم!
اگه علاقه داشته باشی مطمئن باش خیلی زود راه میافتی.
 
آخرین ویرایش:

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

بالا