إذًا بما أنَّ الموضوع في تطوير الويب؛ فأنت بالتأكيد تقصد JavaScript، لا يوجد بالمتصفحات api حقيقي لنسخ نص، للأسف. سنقوم بدلًا من ذلك بإنشاء عنصر في الخلفية، ثم التحديد عليه ونسخه، مع العلم أنّه لو كان المستخدم يكتب فسيضيع المحدد، فيرفوكس الوحيد الذي يدعم تعدد المحددات، عمومًا هذه الطريقة لا تعمل بشكل صحيح دائمًا بسبب حماية المستخدم تعمل على إصدارات متفاوتة من كروم ولا تعمل على الأخرى وهكذا، عمومًا هذا الدالة ترجه boolean يمكنك استخدامها كحل أول وإن لم تفلح اخرج للمستخدم صفحة به النص مع تحديده وأخبره أن يضغط على زر النسخ:
function copyText(text) {
var dev = document.createElement("div"), // العنصر الذي سننسخه
range = document.createRange(), // المحدد
node = document.createTextNode(text); // المحتوى للعنصر
// الحتوى النصي للعنصر
dev.appendChild(node);
// إخفاء العنصر وإضافته في الخلفية
dev.style.display = "hidden";
dev.style.color = "transparent";
document.body.appendChild(dev);
// تحديد المحتوى
range.selectNode(node);
// حذف المحددات وإضافة محددنا
getSelection().removeAllRanges();
getSelection().addRange(range);
// نسخ النص من المحدد
var ok = document.execCommand("copy", true);
// تنظيف العمل
getSelection().removeAllRanges();
dev.parentElement.removeChild(dev);
return ok;
}
بالنسبة لفتح الملف .txt استخدم ajax لذلك أو أخبرني أساعدك في كتابته بإذن الله.
function getContent(url, callback) {
var http = new window.XMLHttpRequest;
http.onreadystatechange = function() {
// الطلب تم الاجابة عليه والحالة مرسل
if (http.readyState == 4 && http.status == 200)
callback(http.responseText)
}
// فتح الطلب بنوع get إلى عنوان الموقع
http.open("GET", url);
// لا نقبل غير ملفات .txt غير هذا إن أردت
http.setRequestHeader("Accept", "text/plain");
// ارسال الطلب
http.send(null);
}
أجدد شكري لك على مجهودك ، أريد أن أسألك ما هي الطريقة التي اتبعتها لتعلم javascript ؟
أنا أعمل الآن مطور قوالب ووردبريس و أعتبر نفسي متوسط المستوى في المجال . ما ينقصني هو javascript تعلمت أساسياتها سابقاً لكن وجدت نفسي لا أستطيع تطبيق أي شيء فهل من نصيحة
لا يوجد طريق سحري؛ داوم على كتابة المشاريع هذا الطريق الصحيح، وابتعد عن التعلم بدون تطبيق، وحاول معرفة كيف يعمل كل شيء، ثم اصبر قد يأخذ منك بعض السنين أو الأشهر أو الأسابيع لإتقانها جيدًا، وسيفيدك الإطلاع على المشاريع مفتوحة المصدر والمساهمة بها.
مجتمع لمناقشة وتبادل الخبرات حول تطوير الويب. ناقش أحدث التقنيات، اللغات، والأدوات في عالم تطوير المواقع والتطبيقات. شارك مشاريعك، اسأل عن نصائح، وتعاون مع مطورين محترفين وهواة.
التعليقات