طريقة لمنع متصفح الهاتف المحمول من تنزيل الصور وعرضها

StackOverflow https://stackoverflow.com/questions/177536

سؤال

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

الشيء هو ، أود أن أقوم بتعديل موقع الشركة على الويب ليكون أكثر قابلية للاستخدام عبر الأجهزة المحمولة. الشركة هي ألعاب ، وهناك 5 ميجابايت من الصور على الصفحة الرئيسية (ولا يمكن لمس تلك). إنهم يعرضون بطيئًا في DSL ، ويمكن أن يكونوا قتلة لشخص يدفع ثمن GPRs لكل ميغابايت ؛)

رمز الصفحة ليس لي ولا ينبغي لمسه أيضًا (في الواقع ، يجب أن يكون مكتوبًا من نقطة الصفر ، لكن ليس في لفتي أن أفعل ذلك الآن) :)

كنت أفكر في حلين:

1) إذا كان هناك نوع من أنواع الأسلوب (أو ربما جافا سكريبت؟ الشخص الذي سيعمل على متصفحات الهاتف المحمول مع ذلك) من شأنه أن يمنع المتصفح من تنزيل الصور والعرض اكتشف وكيل المستخدم ليكون بعض الأشياء المحمولة المعروفة. أو 2) يمكنني تعديل خادم الويب قليلاً للتحقق من رأس وكيل المستخدم وإذا طلب العميل صورة (.png و .gif و .jpg) أرسل 404 بدلاً من ذلك. يحتوي على جانب سلبي - أود السماح للمستخدم بعرض الصور إذا كان يريد ذلك بالفعل.

يبدو أن الحل الأول سيكون الأفضل - ما رأيك يا رفاق؟ وهل هناك طريقة JavaScript للقيام بذلك؟

يمكنني محاولة بناء وثيقة دوم ، ثم الحصول على كل شيء <img> عناصر واستبدلوا src مع وجود بعض العناصر النائبة ، ولكن هل سيعمل ذلك على معظم متصفحات الهاتف المحمول (Opera Mini أفترض ، The Windows Mobile Thingy ، متصفح Symbian الأساسي من Nokia)؟ وسيكون اللعب مع المستند DOM حلاً جيدًا على جهاز محمول (لست متأكدًا من متطلبات الذاكرة والذاكرة لأكون صادقًا).

هل كانت مفيدة؟

المحلول

يمكنك استخدام HTACCESS لإعادة توجيه طلبات الصور المصنوعة من مستخدمي متصفح الجوال. لم أختبر هذا ولكن يجب أن يعمل:

RewriteCond %{HTTP_USER_AGENT} (nokia¦symbian¦iphone¦blackberry) [NC] 
RewriteCond %{REQUEST_URI} !^/images/$
RewriteRule (.*) /blank.jpg [L]

يعيد هذا الكود توجيه جميع الطلبات المقدمة إلى الملفات في مجلد الصور بواسطة Nokia و Symbian و iPhone و BlackBerry إلى ملف صورة فارغ.

نصائح أخرى

لن أعتمد على JavaScript أو أي طريقة أخرى من جانب العميل مع متصفحات الهاتف المحمول. معظم متصفحات الهاتف المحمول لا تدعم JavaScript جيدًا بما فيه الكفاية.

ربما يكون بعض "المتفرعة" من جانب الخادم هو الطريق للذهاب. ولا تنسى تعطيل صور خلفية CSS أثناء وجودك فيها.

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

يمكنك تحديد CSS منفصلة للأجهزة المحمولة:

<link rel="stylesheet" media="screen,projection,tv" href="main.css" type="text/css">
<link rel="stylesheet" media="handheld" href="smallscreen.css" type="text/css">

في ذلك CSS ، يمكنك تجاوز عرض عرض <img> وجميع صور الخلفية.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top