كود جيكوري لتنفيد الأوامر بحسب دولة التصفح
إليكم كود بسيط بالجيكوري يمكن استخدامه لمنع الزيارات من دولة معينة
$(window).on('load', function () {
$.getJSON('
http://api.wipmania.com/jso... function (data) { var cd = data.address.country_code; if (cd == 'MA') { //الأمر يقوم بإفراغ الصفحة في حالة تحقق الشرط $('body').empty(); } else
//هنا لأضافة شروط أخرى
});
});
يعتمد على الأبي أي لاستخراج الدولة ، وهو مجاني لكن عيبه هو أنه لا يدعم حاليا https
التعليقات
أرى انك تقوم بتحميل الصفحة ثم بعث الركوست الى الـ API وهذا شيء خاطئ، ربما يتعطل الـ API او لا يصل اليه الركوست لسبب معين، بالتالي الصفحة ستظل تعمل، الأصح ان تقوم ببعث الركوست وعلى اساس النتيجة تعمل Render او لاء، والاصح من ذلك ان تعالج هذا من طرف السرفر، يعني لا تقوم بإرجاع اي رسبونس في حال لم يتحقق الشرط
لم يقصد انه يحتاج تحسين ، وانما الطريقة يمكن اعتبارها غير كافية او آمنة لمنع المستخدم من الدخول للصفحة فى حالات كثيرة ، ومنها عدم ارسال الطلب الي الـ API الذي استخدمته للتعرف علي الدولة كما مثل لك الأخ ، كما ان هذا الكود لن يشتغل الا بعد ان يتم تحميل الصفحة عند المستخدم .
كما ان الأخ قدم لك بعض الحلول ومنها الاتصال بالـ API من السيرفر حتى تتحكم فى نتيجة الطلب التي ستصل للمستخدم مثل استخدام الدالة file_get_contents فى PHP او استخدام curl .
اذا كان ولابد من استخدام الجافاسكربت يمكنك ان تسند الصفحة الي متغير وبعدها تتحقق عبر الكود الذي كتبته ولا ترجع القيمة للـ body tag الا بعد ان يكون شرطك صحيح
$(window).on('load', function () {
var b = $('body').html();
$('body').empty();
$.getJSON('
http://api.wipmania.com/jso... function (data) { var cd = data.address.country_code; if (cd != 'MA') { $('body').html(b); } }); });