سؤال

هل هناك أي طريقة لاستدعاء ورقة الأنماط، و فقط إذا لم يكن متوفرا، استدعاء ورقة الأنماط من موقع آخر؟

شيء من هذا القبيل:

<link rel="Stylesheet" type="text/css" href="http://cdn.somewhere.com/css/style.css" />
<link rel="Stylesheet" type="text/css" href="local/style.css" />

لكن فقط استدعاء الثاني إذا كان الأول غير متوفر؟لا أريد إجراء مكالمتين إذا كان ذلك غير ضروري.شكرًا لك.

يحرر:هذا لأنني لاحظت في العمل أن شبكة CDN الخاصة بي محظورة، لذلك لا تظهر أي أنماط ولكن الموقع يظهر.أفترض أن الكثير من الأماكن قد تحتوي على نفس الكتلة (جدار الحماية الذي يحظر تطبيقات الويب).إذن أود الحصول على CSS من النسخة المحلية.

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

المحلول

هذا غير ممكن في ترميز HTML الخالص.ومع ذلك، يمكنك القيام بذلك جانب الخادم مع نص بسيط، على سبيل المثال.(كود مزيف):

if first style does not exist:
    output <link> to second sheet
else
    output <link> to primary sheet

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

نصائح أخرى

جافا سكريبت/AJAX بقوة لا ينصح نظرًا لسلوكه الذي لا يمكن التنبؤ به على الإطلاق (أنا لا أتحدث عن التوافق عبر المتصفحات، ولكن قام بعض المستخدمين بإيقاف تشغيله.)

لو كنت مكانك، لتحققت من وجود أول ملف CSS محدد جانب الخادم وأدخل href وفقًا لذلك.

ضع في اعتبارك أيضًا أنه إذا كان عليك حقًا استخدام هذا النوع من الآليات للتأكد، فأنت تقول إن خوادمك غير موثوقة.

لا، لأن عناصر LINK هي نفسها ثابت ( "البكم"). بحيث يمكنك إما تحتاج إلى تفعيل جافا، غرسمونكي (على فايرفوكس ولكن هذا جافا سكريبت، أيضا) أو لديك حقا أن نسأل لكليهما.

ويجب أن يكون ترتيب مختلف، على الرغم من IIRC: إن القاعدة نفسها CSS الكتابة في وقت سابق واحد. لذلك تحتاج إلى تضمين الملف المحلي أولا، ومن ثم تحميل واحد خارجي. إذا كان واحد خارجي غير متوفر، سيتم استخدام النسخة المحلية.

إذا قمت بوضع ملف CSS على القرص الصلب المحلي، وهذا سوف تكون رخيصة جدا.

وقال ذلك، لن يقوم المتصفح دائما تحميل الملف. وسوف تحقق أولا ما إذا كانت النسخة في ذاكرة التخزين المؤقت لا يزال الحالية وإذا كان كذلك، فإنه يتم تحميل الملف مرة أخرى.

هل يمكن افتراضيا استخدام 'local.css "واستخدام جافا سكريبت (باستخدام اياكس) لتحميل واحدة جديدة. إذا كان الطلب يمكن تحميل الملف المغلق الجديد الذي سوف حسنا، وإلا، يمكنك فقط تغيير أي شيء.

وEhmm ... كودل استخدام هذا:

وأنا لا أعرف إذا كان يتم تحميل أنماط بديلة عند فشل البداية ولكن هل يمكن أن تحاول، إذا لم تكن متأكدا، وهذا نصها: <لأ href = "http://www.alistapart.com/articles/alternate/" يختلط = "نوفولو noreferrer"> قائمة بصرف النظر دروس لتغيير معدات الشكل

وهذا يمكن تحقيقه عن طريق جافا سكريبت. كود ينبغي أن يكون مثل هذا:

if( loadcss(first.css) == false) loadcss(second.css);

وحيث loadcss هو الشيكات وظيفة إذا تم تحميل المغلق أو لا

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