অব্যবহৃত সিএসএস চিত্রগুলি ডাউনলোড করা আছে?


127

অব্যবহৃত সিএসএস চিত্রগুলি ব্রাউজার দ্বারা ডাউনলোড করা বা উপেক্ষা করা হয়?

যেমন। সিএসএস বিধিগুলিতে যা কোনও উপাদানের সাথে মেলে না।

.nothingHasThisClass{background:url(hugefile.png);}

নাকি এটি ব্রাউজার নির্ভর হবে?


20
আকর্ষণীয় প্রশ্নের জন্য +1
জিতেন্দ্র ব্যাস

উত্তর:


89

এটি ব্রাউজার নির্ভর হবে, যেহেতু তারা এখানেই একটি দ্রুত পরীক্ষার মাধ্যমে, অনুমিতিটি প্রয়োগের সিদ্ধান্ত নেয়:

  • ক্রোম: না
  • ফায়ারফক্স: না
  • সাফারি: না
  • আইই 8: না
  • আই 7 : না
  • আই 6 : অজানা (কেউ কি পরীক্ষা করে মন্তব্য করতে পারে?)

1
আমি ধরে নিচ্ছি যে আপনি উইন্ডোজে পরীক্ষা করেছেন? আপনি যদি ক্রস-প্ল্যাটফর্মের তুলনা যুক্ত করতে চান তবে আমি ফায়ারফক্স 3.6.x এবং ক্রোম 5.0.307.11 (উবুন্টু 9.10) নাও সরবরাহ করতে পারি । =)
ডেভিড বলেছেন মনিকা

আহা, দেখছি। আমি ভেবেছিলাম ফায়ারফক্স, ক্রোম এবং সাফারিগুলি সেগুলি লোড করা বেশ দরিদ্র হবে তবে আমি এটি IE এর আগে রাখি না। এই ফলাফল আই 6 এবং 7 এর জন্য কি একই?
অ্যালেক্স

@ অ্যালেক্স - আইই 7 হ্যাঁ, যদিও আরও জটিল পৃষ্ঠা এটি চালিত করতে পারে? আই 6 আমি কোথায় আছি তা পরীক্ষা করতে পারি না ... সম্ভবত এখানে কেউ আমার উত্তর আপডেট করতে পারে।
নিক Craver

49
আইই 6-তে কোনও কিছুর পরীক্ষা করার বিরুদ্ধে কি আমি প্রতিবাদ করতে পারি?
ডেভ মার্কেল

2
@ ডেভ: আইই 6-তে (অবিশ্বস্ত প্রস্থানকারী) সমস্ত কিছুর পরীক্ষা করা উচিত, যদি এটি সেখানে সঠিকভাবে চালিত হয়, এবং এটি প্রতিটি বিধ্বস্ত ব্রাউজারে থাকবে: পি
এন 1.1

13

না, সেগুলি ডাউনলোড হয় না, অন্তত ফায়ারফক্স, আইই 8 এবং Chrome এ নয়।

এটি পরীক্ষা করার একটি সহজ উপায়:

<!DOCTYPE html>
<html>
    <head>
       <style type="text/css">
        .nonexistent {
            background: url('index.php?foo');
        }
        </style>
    </head>
    <body>
<?php if(isset($_GET['foo'])) {
    file_put_contents('test.txt', $_SERVER['HTTP_USER_AGENT']);
} ?>
    </body>
</html>

যদি test.txtব্রাউজারের ব্যবহারকারী এজেন্টের সাথে জনবহুল হয় তবে চিত্রটি ডাউনলোড করা হবে। আমার কোনও পরীক্ষায় এটি ছিল না।


9

একটি দ্রুত পরীক্ষা এটি প্রমাণিত।

<!DOCTYPE html>
<html>
<head>
<title></title>

<style type="text/css"><!--

.hasnothing{background-image:url(http://25.media.tumblr.com/tumblr_ky7aakqvH01qatluqo1_400.jpg);}
.hassomething{background-image:url(http://27.media.tumblr.com/tumblr_kxytwr7YzH1qajh4xo1_500.png);}

--></style>

</head><body>

<div class="hassomething"></div>

</body></html>

২ য় চিত্রটি tumblr_kxytwr7YzH1qajh4xo1_500.pngডাউনলোড করা হয়েছে তবে অন্যটি নয়। এটি ক্রোম (বিকাশকারী সরঞ্জাম) এবং ফায়ারফক্স (ফায়ারব্যাগ) এ সত্য প্রমাণিত হয়েছিল।


8

ফায়ারফক্স এবং ক্রোম (উবুন্টু 9.10) ক্লাস / আইডিগুলির জন্য চিত্রগুলি ডাউনলোড করে না যা ডিওমে প্রয়োগ করা হয় না।

যদিও এটি প্ল্যাটফর্ম এবং ব্রাউজার উভয়ই নির্ভর করে।


3

কখনও কখনও এটি "অব্যবহৃত" অর্থ ঠিক ঠিক নির্ভর করে। বিভিন্ন ব্রাউজার এটিকে আলাদাভাবে সংজ্ঞায়িত করে। উদাহরণস্বরূপ, ফায়ারফক্সে, <noscript>ট্যাগটিতে প্রয়োগ করা শৈলীগুলিকে "অব্যবহৃত" বলে মনে করা হয় এবং এইভাবে কোনও চিত্র ডাউনলোড করা হবে না।

ক্রোম 26 (সম্ভবত এগুলি সবই নিশ্চিত নয়), জেএস সক্ষম থাকলেও সিএসএস চিত্রগুলি সেগুলিকে প্রয়োগ করা হয় কিনা তা ডাউনলোড করে <noscript>। (এটি তাত্ক্ষণিকভাবে আমার কাছে পরিষ্কার হয় নি কেন, সম্ভবত এটি কোনও বাগ?)।

এটা তোলে নেই সিএসএস ইমেজ উপাদান প্রয়োগ ডাউনলোড মধ্যে<noscript> উপাদান যদিও। (অবশ্যই এটি প্রত্যাশিত আচরণ)।

উদাহরণ:

সিএসএস:

noscript { background-image: url('always.png') 0 0 repeat; }
noscript p ( background-image: url('nojsonly.png') 0 0 repeat; }

এইচটিএমএল:

<noscript>The CSS background image of this NOSCRIPT-element will always be downloaded in Chrome.  Will not be downloaded in Firefox</noscript>
<noscript><p>The CSS background image of this P-element won't be downloaded in Chrome or other browsers, unless JS is disabled</p></noscript>

এই ক্ষেত্রে, যদি ব্যবহারকারী জেএস-সক্ষম করে থাকে তবে সর্বদা.png এবং otherbg.png উভয়ই ক্রোমে ডাউনলোড হয়। যদি ব্যবহারকারী জেএস সক্ষম না করে থাকে তবে কেবলমাত্র nojsonly.png ক্রোমে ডাউনলোড করা হবে।

গুগল অ্যানালিটিক্স আমাদের এখানে ব্যর্থ হওয়ায় আমি নন-জেএস-সক্ষম ব্যবহারকারীদের কাছ থেকে ট্র্যাফিক-স্তর পরিমাপের জন্য এই কৌশলটি ব্যবহার করি। আমি একটি সাধারণ <img...>ট্যাগের চেয়ে ব্যাকগ্রাউন্ড সিএসএস চিত্রটি ব্যবহার করতে পছন্দ করি কারণ আমি (অচিহ্নিত) তত্ত্বের অধীনে কাজ করছি যে বটগুলি কোনও চিত্রের চেয়ে কোনও সিএসএস চিত্র নেওয়ার সম্ভাবনা কম থাকে <img...>, মানব-দর্শকদের জন্য আরও সঠিক সংখ্যা রেখে যায়।


2

প্রায় সমস্ত ব্রাউজার অলস-লোডিং করে। যদি কোনও চিত্রের প্রয়োজন হয় না, এটি ডাউনলোড করে না। সংস্থানগুলির জন্য লোড সময় দেখতে ফায়ারব্যাগ (ফায়ারফক্স / ক্রোমে অ্যাড-অন) ব্যবহার করুন।


0

মজার বিষয় হচ্ছে, যদিও, ক্রোম (কমপক্ষে) নিচের উদাহরণে অব্যবহৃত.পিএনজি ডাউনলোড করবে:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <title>test</title>
        <style type="text/css">
            .unused {
                background: url(unused.png) no-repeat;
            }
            .used {
                background: url(used.png);
            }
        </style>
    </head>
    <body>
        <div class="unused used">
            hello world
        </div>
    </body>
</html>

11
ঠিক আছে, কারণ এটি রেফারেন্স হয়েছে। সুতরাং আমি নিশ্চিত যে এটি "অব্যবহৃত" বলা সত্যই বৈধ ..
নোটম

@ ইন্টজেল, দয়া করে ডিভ থেকে "অব্যবহৃত" সরান, পরীক্ষাটি আবার করুন এবং আপনার ফলাফলটি আমাদের জানান tell
আনসে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.