Posts Tagged ‘firefox’
Browsers CSS Hack
اردیبهشت ۳۱م, ۱۳۸۸
بوسیله این css میشه یک استایل متفاوت برای هریک از اجزای صفحه برای مرورگرهای متفاوت نوشت.
خیلی بکار میاد.
/***** Selector Hacks ******/
/* IE 6 and below */
* html #uno { color: red }
/* IE 7 and below */
*:first-child+html #dos { color: red }
/* IE 7 and modern browsers */
html > body #tres { color: red }
/* Modern browsers (not IE 7) */
html>/**/body #cuatro { color: red }
/* Opera 9.27 and below */
html:first-child #cinco { color: red }
/* Safari */
html[xmlns*=""] body:last-child #seis { color: red }
/*safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho { color: red }
/* saf3, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
#diez { background: #FFDECE; border: 2px solid #ff0000 }
}
/***** Attribute Hacks ******/
/* ie6 and below */
#once { _color:blue }
/* ie7 and below */
#doce { *color: blue } /* or #color:blue */
/* 'Modern Browsers' includes IE8, whether you agree or not.. :) */
Tags: browser css hack, chrome, CSS, Damn ie, firefox, opera, safari
Posted in CSS, Damn ie, Mozilla FireFox | Comments (۱)
getElementsByClassName
بهمن ۲۷م, ۱۳۸۷
تاحالا شده بخواهید یکی از elementهای DOM رو از طریق نام کلاس آن انتخاب کنید؟! البته این کار درصورتی که از یکی از کتابخانه های جاوا اسکریپت مثل jQuery استفاده میکنید خیلی راحت خواهد بود.
اما باید بدونید که در فایرفاکس هم ( که من پیشنهادش میکنم! ) یک تابعی تعریف شده که عینا” همین کار رو انجام میده.
( document.getElementsByClassName(”targetClass”) ) و بعد از فراخوانی آرایه ای از element هایی رو که دارای کلاس targetClass برمیگردونه!
اما طبق معمول برای ie و همچنین opera هنوز این تابع وچود ندارد که در زیر آنرا بطور دستی اضافه میکنیم:
document.getElementsByClassName = function(class_name) {
var docList = this.all || this.getElementsByTagName('*');
var matchArray = new Array();
var re = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)");
for (var i=0, n=docList.length; i<n; i++) {
if (re.test(docList[i].className) ) {
matchArray.push(docList[i]);
}
}
return matchArray;
}
متغیر doList شامل تمام elementهای داخل DOM هست. درصورتی که all برای Document تعریف شده باشد (در فایرفاکس تعریف نشده است) all و در غیر اینصورت توسط تابع getElementsByTagName انتخاب شده و در docList قرار میگیرد.
حالا یک سوال پیش میاد و اون اینکه چرا all اول نوشته شده با اینکه تابع getElementsByTagName در هر سه مرورگر شناخته شده است؟! جواب اینه که در موارد خاصی تعداد element های select شده در این دو مورد فرق داره و البته که all کامل تره.(در Opera)
درباره عبارت منظم استفاده شده هم این رو بگم که قسمت اول یعنی (?:^|\\s)
از اول رشته ی نام کلاس یا از اولین کلمه بعد از فاصله رو تست میکنه و قسمت دوم هم تا فاصله یا تا آخر رشته رو تست میکنه.
در ضمن استفاده از ?: در این عبارت ها هم ضرورتی نداره اما باعث میشه که سرعت تست کردن این عبارات بالا بره (به عبارات منظمی که شامل “?:” باشه “Non-capturing groups” گفته میشه چون وقت صرف ساختن backreferenceها نمیشه)
فکر نکنم نکته خاص دیگه ای داشته باشه!
فعلا”
Tags: Damn ie, ff, firefox, getElementsByClassName, internet explorer, javascript, js, opera, regular expression, اینترنت اکسپلورر, جاوا اسکریپت, عبارات منظم, فایرفاکس
Posted in Damn ie, Mozilla FireFox, javascript | Comments (۰)
Firebug
دی ۶م, ۱۳۸۷
بعید میدونم که شما طراح و برنامه نویس وب باشین اما با Firebug آشنا نباشید. در واقع FireBug علاوه بر مزیت هایی که در کار با کدهای HTML و CSS داره دارای خط فرمان جاوا اسکریپت نیز هست. وجود خط فرمان javascript در firebug به شما این امکان رو میده که کدهای خودتون رو به صفحه جاری الصاق کنید. انگار که اونها از اول توی صفحه جاری نوشته شده بودند!!
شاید در نگاه اول این چیز خیلی جالبی نباشه اما وقتی یکم دقیق بشین متوجه میشین که چی میگم. بذارین یک مثال بزنم. اگه شما Ajax کار کرده باشید باید بدونید که آژاکس Cross-Domain نیست. یعنی اینکه شما نمیتونید درخواست (request) هایی رو از دامین های دیگه داشته باشین. (البته حالت های خاصی داره ازجمله JSON و CSSHTTPREQUEST) اما مهم اینه که در حالت معمولی چنین امکانی وجود ندارد. خب حالا به شما از طریق FireBug این امکان داده شده که وارد یک سایت بشید و کدهای جاوا اسکریپت خودتون و خصوصا” آژاکستون رو اجرا کنید. شاید بهتر باشه یک مثال بزنم. چند وقت پیش یکی از دوستام یک آدرسی به من داد که اجازه میداد sms رایگان بفرستین. بدون هیچ محدودیتی. البته من نیدونم اون صفحه شخصی بود یا هرچیز دیگه ای! مهم فارسی بودنش بود که خیلی تعجب برانگیزناک آلود بود!
خب بر طبق طبع من چندتا اس ام اس تست ارسال کردم و بعد از ایکه صحتش برام معلوم شد، جرقه ای در سرم زده شد! اومدم کد ساده ای مثل زیر نوشتم :
var xmlhttp= new XMLHttpRequest();
var msg = 'My message will be here!';
var sms = function(){
xmlhttp.open("POST", 'send.php');
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
sms();
}
};
i = Math.round( Math.random()*10000 );
xmlhttp.send('phone=98913333'+i+'&message='+escape(msg));
}
و این کد رو اجرا توی فایرباگ مرورگرم اجرا کردم!! جالبه بدونین که تقریبا” ثانیه ای ۲تا sms ارسال میشد و این بود که من در هزینه تبلیغاتم کمی صرفهجویی کردم! بگذریم که این فقط یک روز جواب داد و اون سایت چندروزی میشه که از کار افتاده!!!
مثال دیگه این هم بزنم اینکه یک دایرکتوری بود که من یکی از سایت هام رو بهش اضافه کرده بودم. این دایرکتوری یک rank فرضی بر اساس ورودی هایی که از سایت من به اون دایرکتوری باضافه خروجی های اون دایرکتوری به سایت من ایجاد میکرد و جلو اسم هر سایت نمایش میداد. خب سایت من rank بالایی نداشت. تقریبا” جز ۴۰-۵۰ تا سایت اولش بود که خوب با اجرای کدی شبیه کد بالا هم به سایت خودم ورودی دادم هم خروجی!! و این بود که سایتم از حدود ۵۰ام در یک روز به ۳ام ارتقاء یافت!!!
در واقع از سایت هایی که باگ دارند میتونین به خوبی استفاده کنید. فقط باید یکم حواستون جمع باشه!!! :D
راستی اگر نمیدونید که Firebug چیه، فقط این رو بگم که میتونید با استفاده از گزینه Add-ons در منوی Tools در مرورگر فایرفاکس (Firefox) آنرا به مرورگر خود اضافه کنید.
موفق تر باشید.
Tags: ajax, firebug, firefox, javascript, آژاکس, جاوا اسکریپت, فایرباگ, فایرفاکس
Posted in Mozilla FireFox, javascript | Comments (۰)
موزیلا فایرفاکس Shiretoko
دی ۴م, ۱۳۸۷
نگارش جدید موزیلا فایرفاکس که به زودی نگارش نهایی آن عرضه خواهد شد، تغییرات عمده ای کرده است که می توان از میان آنها، به افزوده شدن پشتیبانی از تصویر و صدا بدون استفاده از نرم افزار خارجی، مرور امن اینترنت، پشتیبانی از موتور tracemonkey برای اجرای بهتر برنامه های جاوا اسکریپت اشاره کرد. نسخه ۱/۳ فایرفاکس که shiretoko نام گرفته است، قرار است اوایل سال ۲۰۰۹ بعد از ارائه نسخه سوم آزمایشی آن، عرضه شود. گویا قرار است ابتدای سال ۲۰۰۹، نبرد سختی میان مرورگرها باشد، مایکروسافت نیز اعلام کرده است که مرورگر اینترنت اکسپلورر نگارش ۸ خود را اوایل ۲۰۰۹ عرضه خواهد کرد و از طرف دیگر، شرکت اپل نیز مرورگر سافاری خود را در همین تاریخ برای دریافت آماده می کند.
منبع من: irictnews.ir
من که خودم شدیدا” از فایرفاکس حمایت میکنم امیدوارم نسخه جدیدش روی بقیه مرورگرهارو همانند گذشته کم کنه. در مرد ictnews هم به سوتی جالب بگم که تازگی ها سیستم اخبار صوتی رو اضافه کرده. هر خبری رو که باز میکنین، بصورت صوتی هم متن اونو میشنوین. داشتم یه خبر از حفره امنیتی پایگاه داده sql server میخوندم که صوت اون load شد و خبر اینطور آغاز شد: “حفره جدید در نرم افزار سکوئل! مایکروسافت”!!!! (اس کیو ال کجا و سکوئل کجا!) شایدم درست تلفظ کرده. من اشتباه میکنم. بهرحال جالب بود برام
Tags: 2009, browser, Damn ie, ff, firefox, ict news, internet explorer, mozilla, opera, shiretoko, sql, sql server, tracemonkey
Posted in Mozilla FireFox | Comments (۰)