ابن سعید
خادم
امیدہے کہ اگلے چند گھنٹوں میں اردو محفل کا بیس لاکھواں عمومی پیغام ارسال کیا جا چکا ہو گا۔ اس موقع پر اس سنگ میل کے حوالے سے ایک اعلان شامل کیا گیا ہے جس میں محفل کے عمومی مراسلوں کی موجودہ تعداد کو نمایاں کیا گیا ہے۔ البتہ اس اعلان میں مراسلوں کی تعداد فقط سر ورق اور فورم کی مرکزی فہرست کے صفحات پر نظر آتی ہے۔ اس لڑی میں ہم اس اعلان کے طریقہ کار اور اس کے تکنیکی پہلؤں پر روشنی ڈالنے کی کوشش کریں گے۔
در اصل مراسلوں کی یہ تعداد صفحے میں پہلے سے موجود اعداد و شمار کے خانے سے مستعار لے کر نمایاں کی گئی ہے اسی لیے فقط ان صفحات پر نظر آتی ہے جن میں متعلقہ اعداد و شمار موجود ہیں۔ یہ شماریات پہلے ہر دس منٹ پر تازہ کی جاتی تھیں، لیکن اس خاص موقع پر انھیں ہر ایک منٹ بعد تازہ کیا جا رہا ہے۔
اس اعلان میں پیغامات کی تعداد کی نمائش کے لیے تھوڑا سا ایچ ٹی ایم ایل، تھوڑی سی سی ایس ایس، اور تھوڑی سی جاوا اسکرپٹ ذمہ دار ہیں۔
اب اس کوڈ کے مختلف حصوں پر مختصراً نگاہ ڈالتے ہیں۔ کوڈ کے درج ذیل حصے میں ایک پیراگراف میں اعلان کا بنیادی متن شامل کیا گیا ہے اور ساتھ ہی اس کے ایک جزو کو متعلقہ لڑی سے مربوط کیا گیا ہے۔ اس پیراگراف کو "milestone" کی شناخت دی گئی ہے تا کہ بعد میں اس کی مدد سے اس پر رنگ و روغن چڑھائے جا سکیں۔
درج ذیل کوڈ اعلان میں پہلے سے شامل نہیں کیا گیا ہے، بلکہ جاوا اسکرپٹ کی مدد سے خود کار طور پر اس وقت داخل کیا جاتا ہے جب صفحے میں پہلے سے مراسلوں کی تعداد کی معلومات موجود ہو۔ اس پیراگراف کو "counterBanner" کی شناخت دی گئی ہے تا کہ اس کی مدد سے اسے مخصوص نمائشی انداز دیا جا سکے۔
ذیل کے کوڈ کی مدد سے مذکورہ دونوں پیراگرافوں کو ان کے مخصوص نمائشی انداز دیے گئے ہیں جن میں ان کی رنگت، حجم، سمت، خط، فاصلے، کنارے، مخروطی گوشے، نیز پس منظر اور سائے کے مناسب امتزاج کی مدد سے اعداد کے کندہ ہونے کا تاثر وغیرہ شامل ہیں۔
اس سارے قضیے کا سب سے جادوئی حصہ ذیل میں دی گئی جاوا اسکرپٹ ہے۔ اس میں جے کوئیری سے استفادہ کیا گیا ہے جو کہ پہلے سے محفل میں مستعمل ہے۔ اس کوڈ میں سب سے پہلے اس بات کو یقینی بنایا گیا ہے کہ ضروری کوڈ اس وقت فعال ہو جب صفحہ پوری طرح لوڈ ہو چکا ہو۔ بعد ازاں یہ جانچا گیا ہے کہ صفحے میں ".messageCount dd" کی شناخت کے ساتھ موجود اجزا کی تعداد صفر نہ ہو۔ یہ صفحے میں موجود اعداد و شمار کا وہ حصہ ہے جس میں عمومی پیغامات کی تعداد موجود ہوتی ہے۔ اگر صفحے میں مذکورہ جزو موجود نہیں تو کوڈ کا متعلقہ حصہ مؤثر نہیں ہو گا کیونکہ نمائش کے لیے معلومات ہی دستیاب نہیں ہو گی۔ اگر یہ جزو موجود ہے تو اس سے "$('.messageCount dd').html()" کی مدد سے مراسلوں کی تعداد کو اخذ کیا جا سکتا ہے اور اسے "counterBanner" کی شناخت والے پیراگراف میں ملفوف کر کے "milestone" والی شناخت کے پیراگراف کے ٹھیک بعد داخل کر دیا جاتا ہے۔
و ما علینا الا البلاغ!
در اصل مراسلوں کی یہ تعداد صفحے میں پہلے سے موجود اعداد و شمار کے خانے سے مستعار لے کر نمایاں کی گئی ہے اسی لیے فقط ان صفحات پر نظر آتی ہے جن میں متعلقہ اعداد و شمار موجود ہیں۔ یہ شماریات پہلے ہر دس منٹ پر تازہ کی جاتی تھیں، لیکن اس خاص موقع پر انھیں ہر ایک منٹ بعد تازہ کیا جا رہا ہے۔
اس اعلان میں پیغامات کی تعداد کی نمائش کے لیے تھوڑا سا ایچ ٹی ایم ایل، تھوڑی سی سی ایس ایس، اور تھوڑی سی جاوا اسکرپٹ ذمہ دار ہیں۔
اب اس کوڈ کے مختلف حصوں پر مختصراً نگاہ ڈالتے ہیں۔ کوڈ کے درج ذیل حصے میں ایک پیراگراف میں اعلان کا بنیادی متن شامل کیا گیا ہے اور ساتھ ہی اس کے ایک جزو کو متعلقہ لڑی سے مربوط کیا گیا ہے۔ اس پیراگراف کو "milestone" کی شناخت دی گئی ہے تا کہ بعد میں اس کی مدد سے اس پر رنگ و روغن چڑھائے جا سکیں۔
HTML:
<p id="milestone">
اردو محفل بیس لاکھ عمومی پیغامات کے سنگ میل کی جانب تیز گام ہے۔
<a href="https://www.urduweb.org/mehfil/threads/102331/">مزید تفصیلات ملاحظہ فرمائیں!</a>
</p>
درج ذیل کوڈ اعلان میں پہلے سے شامل نہیں کیا گیا ہے، بلکہ جاوا اسکرپٹ کی مدد سے خود کار طور پر اس وقت داخل کیا جاتا ہے جب صفحے میں پہلے سے مراسلوں کی تعداد کی معلومات موجود ہو۔ اس پیراگراف کو "counterBanner" کی شناخت دی گئی ہے تا کہ اس کی مدد سے اسے مخصوص نمائشی انداز دیا جا سکے۔
HTML:
<p id="counterBanner">1,999,570</p>
ذیل کے کوڈ کی مدد سے مذکورہ دونوں پیراگرافوں کو ان کے مخصوص نمائشی انداز دیے گئے ہیں جن میں ان کی رنگت، حجم، سمت، خط، فاصلے، کنارے، مخروطی گوشے، نیز پس منظر اور سائے کے مناسب امتزاج کی مدد سے اعداد کے کندہ ہونے کا تاثر وغیرہ شامل ہیں۔
HTML:
<style type="text/css">
#milestone {
text-align: center;
color: #f00;
font-size: 20px;
margin-bottom: 10px;
}
#counterBanner {
text-align: center;
font-size: 40px;
font: 40px sans-serif;
margin: 0 auto;
padding: 2px;
border: 2px solid #222;
width: 200px;
color: #222;
background: #575757;
text-shadow: 0px 2px 3px #999;
border-radius: 10px;
}
</style>
اس سارے قضیے کا سب سے جادوئی حصہ ذیل میں دی گئی جاوا اسکرپٹ ہے۔ اس میں جے کوئیری سے استفادہ کیا گیا ہے جو کہ پہلے سے محفل میں مستعمل ہے۔ اس کوڈ میں سب سے پہلے اس بات کو یقینی بنایا گیا ہے کہ ضروری کوڈ اس وقت فعال ہو جب صفحہ پوری طرح لوڈ ہو چکا ہو۔ بعد ازاں یہ جانچا گیا ہے کہ صفحے میں ".messageCount dd" کی شناخت کے ساتھ موجود اجزا کی تعداد صفر نہ ہو۔ یہ صفحے میں موجود اعداد و شمار کا وہ حصہ ہے جس میں عمومی پیغامات کی تعداد موجود ہوتی ہے۔ اگر صفحے میں مذکورہ جزو موجود نہیں تو کوڈ کا متعلقہ حصہ مؤثر نہیں ہو گا کیونکہ نمائش کے لیے معلومات ہی دستیاب نہیں ہو گی۔ اگر یہ جزو موجود ہے تو اس سے "$('.messageCount dd').html()" کی مدد سے مراسلوں کی تعداد کو اخذ کیا جا سکتا ہے اور اسے "counterBanner" کی شناخت والے پیراگراف میں ملفوف کر کے "milestone" والی شناخت کے پیراگراف کے ٹھیک بعد داخل کر دیا جاتا ہے۔
HTML:
<script>
$(function() {
if($('.messageCount dd').length){
$('#milestone').after('<p id="counterBanner">' + $('.messageCount dd').html() + '</p>');
}
});
</script>
و ما علینا الا البلاغ!