السلام عليكم
اعرف العديد اندهش من الموضوع أو لم يفهمه جيدا ... :wink:
الفكرة تتمثل في :happy:
هدف المدونون للحفاظ على الزوار وابقائهم في المدونة لأطول فترة ممكنة، ولكن الروابط الخارجية تمنعهم من ذلك،
وقد يفقدهم الكثير من الزوار. فالمدونون يستخدمون الروابط في الـ anchor text أو الاعلانات بأنواعها
وقد تكون موجودة حتى في تعليقات الزوار، وهذا كله قد يساهم في خروج الزائر من المدونة.
هذه المشكلة عولجت سابقا في مدونات الووردبريس باستخدام اضافة Open in New Window Plugin .
أما بالنسبة لبلوجر فهناك
عدة طرق منها عن طريق تقنية jQuery
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
//<![CDATA[
jQuery('a').each(function() {
// Let's make external links open in a new window.
var href = jQuery(this).attr('href');
if (typeof href != 'undefined' && href != "" && (href.indexOf('http://') != -1 || href.indexOf('https://') != -1) && href.indexOf(window.location.hostname) == -1) {
jQuery(this).attr("target", "_blank");
}
});
//]]>
</script>
هذه الطريقة ليست مقتصرة فقط على المدونات وإنما يمكن تطبيقها أيضا على كل المواقع بمختلف أنواعها.
لكن احينا نجد ان الزوار قد ينجعزون من هته الطريقة
لدالك لجانا الى بحث عن دالة لوضع اختيار للزائر مادا ادا كان يريد فتح هته الروابط الخاجية في صفحة مستقلة
الدالة هي
<div class="linkprefs">
<p style="border:1px solid #cccccc;font-family:Arial,helvetica,sans-serif;font-size:12px;padding-bottom:4px;padding-top:4px;background:#f4f4f4;display: block;"><input id="linkprefs" value="linkprefs" name="linkprefs" onclick="setCheckbox(document.getElementById('linkprefs').checked);" type="checkbox" />
<label for="linkprefs">لفتح الروابط في صفحة مستقلة</label></p><span></span>
<script type="text/javascript">addEvent(window, 'load',loadLinkPrefs);</script>
</div>
<script type='text/javascript'>
<!--
/*
Link Target Preferences v.1.1
http://www.noscope.com/journal/2004/10/link-target-preferences
*/
var blcntublog1 = "http:xxxxx.com";
var blcntublog2 = "http:xxxxx.com";
var blcnTituloBlog = "NOMBRE";
var open_blank_default = true;
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca;
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
function loadLinkPrefs () {
if (readCookie(blcnTituloBlog+"_linkprefs_cookie")) {
initVal = readCookie(blcnTituloBlog+"_linkprefs_cookie"); // Load cookied preference
} else {
createCookie(blcnTituloBlog+"_linkprefs_cookie", true, 20000)
initVal = open_blank_default; // If no cookie is set
}
openBlank = initVal;
setCheckbox(eval(initVal))
}
function setCheckbox(state) {
openBlank = state;
document.getElementById('linkprefs').checked = state;
blccw();
createCookie(blcnTituloBlog+"_linkprefs_cookie", state, 20000)
}
function blccw() {
var link, l = 0;
if (openBlank == true) {
while (link = document.links[l++]) {
// Open in _blank, except all links starting with...
if (link.href.indexOf(blcntublog1) == -1 && link.href.indexOf(blcntublog2) == -1 && link.href.indexOf('javascript') == -1) link.target = '_blank';
}
} else {
while (link = document.links[l++]) {
if (link.href.indexOf(blcntublog1) == -1 && link.href.indexOf(blcntublog2) == -1 && link.href.indexOf('javascript') == -1) link.target = '_top';
}
}
}
function addEvent(obj, evType, fn) {
if (obj.addEventListener) {
obj.addEventListener(evType, fn, true);
return true;
} else if (obj.attachEvent) {
var r = obj.attachEvent('on'+evType, fn);
return r;
} else {
return false;
}
}
//-->
</script>
ملاحظة الدالة ليست من برمجتي
و السلام خير ختام
الرجاء لمن يريد نقل الموضوع
الموضوع من جهدي