مرحبًا بكم في شركة إكسبريس المدينة، الشركة الرائدة في نقل الأثاث في المملكة العربية السعودية نحن نُقدّم حلولًا متكاملة في مجال نقل العفش داخل المدن وبين مناطق المملكة، مع التركيز على السلامة، السرعة، والدقة في كل خطوة من خطوات عملية النقل.
منذ انطلاقنا، عملنا على بناء سمعة قوية من خلال خدمة عملاء متميزة وفِرق عمل مدرّبة تمتلك الخبرة الكاملة في فك وتركيب وتغليف الأثاث، بما في ذلك الأثاث الخشبي، الكهربائي، والمكتبي.
) أو عبر 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);// --- انتهى ---
})();