نظافة المدارس أصبحت ضرورة أساسية للحفاظ على صحة الطلاب وضمان بيئة تعليمية آمنة، خاصة مع كثرة الاستخدام اليومي للمرافق وانتشار الأمراض المعدية. المدرسة النظيفة تساعد على تقليل العدوى وتحسين تركيز الطلاب داخل الفصول. من هنا تأتي أهمية الاعتماد على شركة تنظيف مدارس بالمدينة المنورة تقدم خدمات تنظيف وتعقيم احترافية باستخدام أحدث المعدات ومواد آمنة، مع […]
إذا كنت تبحث عن نقل عفش شوران المدينة المنورة، فمن المهم اختيار شركة لديها القدرة على التعامل مع الأثاث بمختلف أحجامه وأنواعه، بداية من التجهيز وحتى الوصول إلى المكان الجديد. تقدم هوم شيفت خدمات متكاملة لنقل الأثاث داخل شوران والمدينة المنورة، تشمل فك القطع التي تحتاج إلى ذلك، وتغليفها وحمايتها، ثم تحميلها ونقلها وتفريغها وإعادة […]
إذا كنت تبحث عن شركة عزل خزانات المياه بالمدينة المنورة توفر عزلًا مائيًا وحراريًا بمواد آمنة ومعتمدة، فإن هوم شيفت تقدم حلولًا متكاملة لحماية الخزانات من التسربات والتلوث. تشمل خدماتنا عزل الخزانات الأرضية والعلوية، ومعالجة الشقوق، وتنظيف وتعقيم الخزانات، لضمان مياه نظيفة وخزان يدوم لفترة أطول. العزل يحمي المياه من التلوث، يمنع التسرب والبكتيريا، ويطيل […]
بق الفراش ينتشر بسرعة ويصعب التخلص منه بالطرق المنزلية، لذلك الحل الفعّال هو الاستعانة بشركة متخصصة هوم شيفت توفر مكافحة احترافية لبق الفراش بالمدينة المنورة باستخدام مبيدات آمنة، أجهزة حديثة، وضمان مكتوب للقضاء على الحشرة نهائيًا. لو تلاحظ لدغات أو بقع دم أو رائحة غريبة في المراتب، اتصل بنا فورًا على 0574310072 لنصل إليك ونحل المشكلة […]
إذا كنت تبحث عن شركة نقل عفش العزيزية المدينة المنورة، فاختيار شركة منظمة وموثوقة يساعدك على نقل أثاثك بأمان وتقليل الوقت والجهد. تقدم هوم شيفت خدمات نقل العفش داخل حي العزيزية، بداية من تجهيز الأثاث وفكه وتغليفه، وحتى تحميله ونقله وتركيبه في المكان الجديد، مع فريق مدرب ومعدات مناسبة للتعامل مع مختلف أنواع الأثاث. ما […]
) أو عبر Elementor Custom Code (location: Footer)
*/(function() {
// --- إعدادات قابلة للتعديل ---
// لو أرقامك محلية وتحتاجي تحولها لصيغة دولية، عدلي defaultCountryCode
// مثال للمملكة السعودية: '+966'
var defaultCountryCode = '+966';// إذا كنتي متأكدة أن جميع الأرقام في href مكتوبة بصيغة دولية بالفعل، اجعليها ''
// var defaultCountryCode = '';// اسماء الأحداث في GA4
var CALL_EVENT_NAME = 'click_to_call';
var WA_EVENT_NAME = 'whatsapp_click';// --- دوال مساعدة ---
function normalizePhone(phone) {
if (!phone) return phone;
// ازالة مسافات وأحرف غير رقمية إلا علامة +
var p = phone.trim().replace(/[^+\d]/g, '');// لو يبدأ بـ 0 و defaultCountryCode معرفة (مثلاً 057... -> +96657...)
if (p.indexOf('0') === 0 && defaultCountryCode) {
// اقطع الصفر الأولى
p = defaultCountryCode + p.slice(1);
}// لو يبدأ بـ '+' أو رقم فعلاً نعيده كما هو
return p;
}function sendGtagEvent(eventName, params, href, callback) {
// إذا gtag مش معرَّف، أوقف العملية بهدوء
if (typeof gtag !== 'function') {
// console.warn('gtag not found - event not sent:', eventName, params);
if (typeof callback === 'function') callback();
return;
}// استخدم event_callback لضمان تنفيذ الانتقال بعد إرسال الحدث
var sent = false;
var callbackCalled = false;var cb = function() {
if (callbackCalled) return;
callbackCalled = true;
if (typeof callback === 'function') callback();
};try {
gtag('event', eventName, Object.assign({}, params, {
event_callback: cb
}));
sent = true;
} catch (e) {
// console.error('gtag event error', e);
cb();
}// احتياطي: لو لم يتم استدعاء callback خلال 700ms، ننفّذ الانتقال على أي حال
setTimeout(function() {
if (!callbackCalled) cb();
}, 700);
}function openHrefAfterEvent(href, target) {
// فتح الرابط بعد إرسال الحدث (لو كان target="_blank" نفتحه فوراً)
if (target === '_blank') {
// افتح الفوراً في تاب جديد
window.open(href, '_blank', 'noopener,noreferrer');
} else {
// لو نفس النافذة، نستخدم تغيير الصفحة بعد التأكيد
window.location.href = href;
}
}// --- المعالجة العامة للنقرات على الروابط ---
document.addEventListener('click', function(e) {
var el = e.target;// اطلع للـ A لو النقر على عنصر داخل الرابط (مثل أيقونة)
while (el && el.tagName !== 'A') {
el = el.parentElement;
}
if (!el || !el.href) return;var href = el.href;
var target = (el.target && el.target.toLowerCase()) || '';// 1) tel:
if (href.indexOf('tel:') === 0) {
e.preventDefault(); // نمنع الانتقال الفوري حتى نرسل الحدث
var rawPhone = href.replace('tel:', '');
var phone = normalizePhone(rawPhone);sendGtagEvent(CALL_EVENT_NAME, {
phone_number: phone,
page_path: location.pathname,
link_url: href
}, href, function() {
// افتح/نقل بعد إرسال الحدث
openHrefAfterEvent(href, target);
});return;
}// 2) WhatsApp: wa.me أو api.whatsapp.com
// أمثلة:
// https://wa.me/966574310072
// https://api.whatsapp.com/send?phone=966574310072
var waMatch = href.match(/(?:https?:\/\/)?(?:wa\.me\/|(?:api\.)?whatsapp\.com\/send\?phone=)(\+?\d+)/i);
if (waMatch) {
e.preventDefault();
var rawPhone2 = waMatch[1] || '';
var phone2 = normalizePhone(rawPhone2);sendGtagEvent(WA_EVENT_NAME, {
phone_number: phone2,
page_path: location.pathname,
link_url: href
}, href, function() {
openHrefAfterEvent(href, target);
});return;
}// 3) بعض الروابط ممكن تكون wa.me مع باراميتر أو مختلفة؛ حاول التقاط wa.me بشكل عام
if (href.indexOf('wa.me') !== -1 || href.indexOf('whatsapp.com') !== -1) {
e.preventDefault();
// محاولة استخراج كل الأرقام الموجودة
var m = href.match(/(\+?\d{6,15})/);
var ph = m ? normalizePhone(m[0]) : '';
sendGtagEvent(WA_EVENT_NAME, {
phone_number: ph,
page_path: location.pathname,
link_url: href
}, href, function() {
openHrefAfterEvent(href, target);
});
return;
}// غير ذلك: لا نفعل شيئاً (نسمح بالتصرف العادي)
}, false);// --- انتهى ---
})();