10/01/2017

settings_overscan print announcement
كيفية إضافة روابط الإحالة  تلقائيا عند نسخ النص - من الناحية الفنية  إذا قام أحد الزوار  بنسخ نص من موقع معين، فعليه تقديم رابط إلى مصدر الموقع الذي ينسخ النص منه. ولكن الأغلبية يتجاهلون أهمية الأمر وخطورته في بعض الأحيان .
ولتجنب ذلك ، يعمد الكثيرين لتضمين سكريبتات منع النسخ وتعطيل أزرار فتح المصدر ولظروف مغايرة لايحبذ الكثيرين ذلك  وهنا سوف نستعرض لكم رمز إضافة روابط المصدر تلقائيا في حال إذا قام شخص ما بنسخ النص أو جزء من المقال فإنه سيتم تلقائيا تضمين رابط المصدر من النص الذي نسخه.

على الرغم من أن هذه الطريقة قديمة و أقل فعالية لأن وصلة المصدر يمكن إزالتها بسهولة لكن رغم ذلك أعتقد أنها ستكون مفيدة خاصة للكتاب والمدونين الذين لا يحبذون إذا تم نسخ المقالة من دون تضمين رابط المصدر الأصلي.

هذا الرمز المساعد لا يضمن أن  تشمل الروابط الخاصة  في المقالات التي يتم نسخها ، ولكن على الأقل  يمكن أن تعطي القليل من التحذير.


يحتوي هذا المكون الإضافي على بعض الميزات، واحدة منها هي أن هذا الكود لن يضيف روابط الإحالة تلقائيا عندما يكون النص المنسوخ داخل العنصرين<pre> و<code>الوسوم الخاصة  بإقتباس الأكواد وهذا يجنب حدوث خطأ في الشفرة إذا ما إحتوى على نص دخيل  كما أنه يعمل  في أغلب  المتصفحات المفضلة .

طريقة التركيب

لاتنسى أخذ نسخة إحتياطية من القالب

الخطوة الأولى

  • قم بتسجيل حسابك ثم إذهب إلى منصة البلوجر dashboard
  • إنتقل للمدونة >> ثم إلى المظهر >> ثم إضغط على تحرير  Edit HTML  
  • إضغط في وسط محرر الأكواد  ثم   F + Ctrl لإضهار مربع البحث
  • بإستعمال  الزر  C +Ctrl  للنسخ و  V +Ctrl  للصق قم بوضع الأكواد في المكان المناسب
  • قم بالبحث عن هذا الوسم </body> فوقه أي قبله قم بوضع الكود التالي..

<script>
//<![CDATA[
 !function(e,t){var n="getSelection",o="removeAllRanges",i="addRange",l="parentNode",a="firstChild",d="appendChild",r="removeChild",s="test",c="innerHTML";if(e[n]){var p,g,f,h,u,y;t.addEventListener("copy",function(C){for(g=C.target;3===g.nodeType;)g=g[l];if(h=t.createElement("div"),(p=e[n]())&&p.rangeCount&&(p=p.getRangeAt(0))&&(f=p.cloneRange(),p=p.cloneContents())){for(;u=p[a];)h[d](u);if(!/^(pre|code)$/i[s](g.nodeName||"")&&!/(^|\s)no-attribution(\s|$)/i[s](g.className||"")){var v=e.location.href;h[c]+="<br><br>© "+t.title+'<br>المصدر:<a href="'+v+'">'+v+"</a>"}y=t.createRange(),t.body[d](h),y.selectNodeContents(h),p=e[n](),p[o](),p[i](y),setTimeout(function(){h[l][r](h),p[o](),p[i](f)})}},!1)}}(window,document); 
//]]> 
</script>
report
كما أشرت سابقا أن من مميزات هذا الكود أنه لايضيف روابط الإحالة الموجودة داخل الوسم وهي رموز إقتباس الأكواد إلا أني وجدت أنه ينسخ الترقيم في بعض صناديق إقتباس الأكواد التي تحتوى على ترقيم للأسطر فقط إذا كانت تحتوي على ميزة التحديد السريع وهذا طبعا خلل برمجي سيتم إستدراكه في التحديثات القادمة.