როგორ ამოვიცნოთ ე.წ. jquery ვერსია. ბრაუზერის ვერსიის განსაზღვრა - PHP ან javascript

მე უკვე დავწერე სტატია ამის შესახებ, მაგრამ დღეს მე გადავწყვიტე კიდევ ერთი პრობლემა - როგორ განვსაზღვრო კონკრეტული ვერსია Internet Explorer... როგორც ყველამ იცის, ეს ბრაუზერი მუდმივად გვაოცებს და მისი თითოეული ვერსია პრაქტიკულად ცხოვრობს საკუთარ ცხოვრებაში. არის სიტუაციები, როდესაც კოდი ადეკვატურად მუშაობს მე –9 ვერსიაში, მაგრამ არ მუშაობს მე –8 – ში და პირიქით. და ასეთი მომენტები ხვდება თითოეულ ვერსიაზე მუშაობის დროს. ამიტომ, ადრე თუ გვიან, თქვენ მოგიწევთ IE კონკრეტული ვერსიის განსაზღვრის პრობლემა.

როგორც აღმოჩნდა, IE ვერსიის ვერსიის დადგენა არ არის რთული. ვერსიის განსაზღვრისას შეგიძლიათ გამოიყენოთ საინტერესო თვისება Internet Explorer - ამ "ბრაუზერის" თითოეულ ვერსიას აქვს უნიკალური გლობალური ობიექტები. მაგალითად, IE9- ში არსებობს გლობალური დოკუმენტი.addEventListener ობიექტი, და ასეთი ობიექტი გამოიყენება მხოლოდ IE9- ზე უფრო ძველი ვერსიით (ინკლუზივი). ან დოკუმენტი.querySelector ობიექტი - ის მხოლოდ IE8- ში გამოჩნდა და იგი გამოიყენება უფრო ახალ ვერსიებში. ასეთი ობიექტები თითოეულ ვერსიაშია, მათზე დაყრდნობით (მათი არსებობის შემოწმება), შეგიძლიათ მარტივად შეადგინოთ პირობები Internet Explorer- ის კონკრეტული ვერსიებისთვის.
რა ობიექტები წარმოდგენილია სხვადასხვა ვერსიაში, მე ქვემოთ მოვიყვან
IE10 + - ფანჯარა.atob
IE9 + - დოკუმენტი.addEventListener
IE8 + - დოკუმენტი.querySelector
IE7 + - ფანჯარა.XMLHttp მოთხოვნა
IE6 + - document.compatMode
კიდევ ერთი გლობალური დოკუმენტი. ყველა ობიექტი არსებობს IE- ს ყველა ვერსიაში, მაგრამ იგი არ გამოიყენება სხვა ბრაუზერებში, ამის საფუძველზე შეგიძლიათ განასხვავოთ IE სხვა ბრაუზერებისგან.

ამ დახმარების გარდა, ეკუთვნის ზოგადი საკონტაქტო ფორმა, ანაბეჭდი და ასევე ვებ – შეთავაზების ყველა გვერდის ზოგადი მიმოხილვა. ძებნა ყუთში მარტივი ძებნის მიერ საკვანძო სიტყვები ყოველთვის გვერდის ზედა ნაწილში, ქალაქის ლოგოს მახლობლად. აქ შეგიძლიათ ჩაწეროთ ერთი ან მეტი საძიებო სიტყვა. ძებნა იწყება შავი გამადიდებელი ღილაკის დაჭერით ან Enter ღილაკის დაჭერით.

გარდა საკვანძო სიტყვების მარტივი ძიებისა, შეგიძლიათ გამოიყენოთ მოწინავე ძებნა. აქ, სხვა საკითხებთან ერთად, შეგიძლიათ გამორიცხოთ სიტყვები და დაადგინოთ ჰიტების რაოდენობა გვერდზე. გამოიყენეთ შემდეგი საძიებო ვარიანტები კიდევ უკეთესი შედეგის მისაღებად.

როგორ განვსაზღვროთ Internet Explorer- ის ვერსია javascript- ში. კოდი

ახლა ჩვენ გვაქვს ყველა საჭირო კომპონენტი: ობიექტი, რომელიც ყველა IE ვერსიაშია და მხოლოდ მასშია - ეს განასხვავებს მას სხვა ბრაუზერებისგან. ჩვენ ასევე გვაქვს ობიექტები, რომლებიც დაგვეხმარება IE– ს კონკრეტული ვერსიების დიფერენცირება. ქვემოთ მოცემულია რამდენიმე მაგალითი, რათა გაჩვენოთ, თუ როგორ შეგიძლიათ გამოიყენოთ IE გლობალური ობიექტები პრაქტიკაში.

მხოლოდ 2 ან მეტი სიმბოლოს მქონე სიტყვები მიიღება მაქსიმუმ 200 სიმბოლოსთან დაკავშირებით მოთხოვნით. პირად სიმბოლოებს იყენებენ სიტყვების განცალკევებით. შეიძლება გამოყენებულ იქნას მთელი პერსონაჟის სიმების მოსაძებნად. მომხმარებლებისთვის, რომლებიც იყენებენ firmware, ეკრანზე ნახტომი ნიშნებია, რომლებიც პირდაპირ მიუთითებენ ამ დახმარებაზე ან შინაარსზე. ისინი თანამედროვე გრაფიკული ბრაუზერების მომხმარებლებისთვის არ ჩანს.

გამოიყენეთ ღილაკის ღილაკი, ბმულიდან ბმულზე გადასასვლელად. დამალული ხელსაწყოები ნაჩვენებია მომსახურების ნავიგაციის ზემოთ, როგორც კი ჩანართის ღილაკს გამოიყენებთ. ბეჭდვა ხორციელდება ოპტიმიზებული დისპლეის გამოყენებით. იბეჭდება მხოლოდ შინაარსი. ამ მენიუსთვის, გარეთა, ქვედა და სასაზღვრო უფსკრული ჩაბნელებულია. თქვენ მხოლოდ უნდა დააჭიროთ თქვენი ბრაუზერის ბეჭდვის ფუნქციას ან გვერდის ბოლოს ბეჭდვის სიმბოლოს.

თუ (document.all) (// კოდი IE- ს ყველა ვერსიისთვის. სხვა ბრაუზერებში არ შესრულდება) თუ (დოკუმენტი.all &&&! Window.atob) (// კოდი IE9 და ქვემოთ) თუ (დოკუმენტი.all &&&! დოკუმენტი) .addEventListener) (// კოდი IE8 და ქვემოთ), თუ (document.all &&! დოკუმენტი.querySelector) (// კოდი IE7 და ქვემოთ), თუ (დოკუმენტი.all &&! window.XMLHttpRequest) (// კოდი IE6 და ქვემოთ) if (document.all && windows.atob) (// კოდი IE10 და ზევით) თუ (დოკუმენტი.all && დოკუმენტი.addEventListener) (// კოდი IE9 და ზევით) თუ (დოკუმენტი.all && document.querySelector) (// კოდი IE8 და ზევით) თუ (დოკუმენტი.all && windows.XMLHttpRequest) (// კოდი IE7 და ზევით) თუ (დოკუმენტი.all && document.querySelector &&! document.addEventListener) (// კოდი მხოლოდ IE8- სთვის )

ათ ნაბიჯში, გაზრდის ათჯერ გაზრდა მიიღწევა დაჭერით, ხოლო მასშტაბის 10 პროცენტით შემცირება მიიღწევა დაჭერით. ამისათვის, ბრაუზერის მენიუს ზოლში აირჩიეთ მენიუ "ნახვა" და მიუთითეთ შრიფტის ზომა პროცენტულად. თქვენ ასევე შეგიძლიათ განსაზღვროთ მასშტაბის დონე. ... ზემოთ მოცემულ ბრაუზერებზე დამატებითი ხელსაწყოები, როგორიცაა მაგნიფატორი ან დამონტაჟებული პროგრამა, შეგიძლიათ იხილოთ კომპასის რესურსის ინდექსში.

ეს შეიძლება იყოს, მაგალითად, დაგეგმვის ოფისები ან კონსულტანტები. ჩვენ შევეცდებით მოგაწოდოთ შინაარსი რაც შეიძლება განსხვავებულად. ჩვენ ამ დახმარების ნავიგაციას ვიყენებთ ახალი ამბების არეალში, სადაც შეგიძლიათ ნახოთ დეტალური გვერდები ნავიგაციაში.

კარგია, თუ თქვენი საიტი მუშაობს ყველა, ან თითქმის ყველა ბრაუზერში, როგორც გსურთ. ყველაფერი იცვლება, გამოდის ახალი ვერსიები, ჩნდება ახალი შესაძლებლობები და სულელურია მათი გამოყენება არ მოხდეს, გთხოვთ, "მოხუცი" გაახაროთ. დაახლოებით 1.5 წლის წინ IE 6.0 (ვიმსჯელებთ ჩემს ერთ საიტებზე ვიზიტების სტატისტიკის მიხედვით) IE– ს გამოყენებით იყენებდა ყოველ მესამე კომპიუტერს. მე მასთან საუბარი მომიწია, ტკ. IE დომინირებდა კომპიუტერებში, რომელზეც ვიზიტორების 40% მეტია IE. IE 6.0 -ს ამ განაწილებას მე ასოცირდება (მიუხედავად იმისა, რომ მე -8 ვერსია უკვე გამოვიდა), პირველ რიგში, ძველი მეკობრეობის ფართო გავრცელებასთან. windows ვერსიები XP რუსეთში, რომლებიც არ უკავშირდებიან განახლების სერვერს.

ეს საშუალებას გაძლევთ გადავიდეთ უკან და უკან, დოკუმენტიდან საწყის გვერდზე. დაუბრუნდით ნორმალურ ხედს კლავიშის დაჭერით. რაც შეეხება მე -3 ვერსიას, ეს ასევე საშუალებას აძლევდა გრაფიკას ან სურათებს. ამასთან, ამ ფუნქციის გამორთვაც შეგიძლიათ და მხოლოდ ტექსტის ზომა გაზარდეთ. ბარიერის კომპასის გვერდები შეიქმნა თანამედროვე ინტერნეტ სტანდარტების შესაბამისად.

ეს დახმარება მიზნად ისახავს დაგეხმაროთ იმის გაგებაში, თუ როგორ გამოიყენოთ ეს ხელმისაწვდომი ვებ – გვერდი და გამოიყენოთ გაუმჯობესებული წვდომის უპირატესობები. ჩვენი ინტერნეტ გვერდები სპეციალურად შეიქმნა, რომ რაც შეიძლება მეტი ხელმისაწვდომი იყოს მეტი ინტერნეტის მომხმარებლები. მოკლედ, ისინი ბარიერია.

ახლა ისინი აქტიურად დააინსტალირებენ მეტს ახალი ვერსიები XP (ასევე მეკობრეობს თითქმის ყველგან), სადაც IE– ს მე –7 ვერსია უკვე შედის, და Windows 7, მიეწოდება MSIE 8.0. გარდა ამისა, IE– ს ადგილი მოუწია, ხოლო ოპერამ დაიკავა პირველი ადგილი (ვიზიტორთა 29.8%), ხოლო IE– მა, რომელმაც 10% –ზე მეტი დაკარგა, მე –2 ადგილი დაიკავა, რაც მოიპოვა ვიზიტორთა საერთო რაოდენობის 28,8%. ამავდროულად, IE 6.0-ის წილი IE მომხმარებელთა საერთო მოცულობაში 34% -დან 15% -მდე დაეცა. ტოპ სამეულს დახურავს FireFox.

შეგიძლიათ გამოიყენოთ კლავიატურა, რომ შეცვალოთ მასშტაბური მნიშვნელობა რამდენიმე ნაბიჯში, თითოეული ნაბიჯი შეესაბამება 10% ნახტომი. ამისათვის აირჩიეთ მენიუს ზოლიდან View და მიუთითეთ მასშტაბის ფაქტორი. გაახარეთ თქვენი საიტი ნებისმიერ ადგილას.

როდესაც ვებ – გვერდის შექმნას დავიწყებთ, ჩვენ ნამდვილად გაინტერესებთ, რომ იგი ნებისმიერ ბრაუზერში გამოიყურება მშვენივრად? და კარგად გამოიყურება, თუ ეს შესაძლებელია დიდი ხანის განმვლობაში, თუნდაც ბრაუზერების მომავალ ვერსიებში. წარსულში, ბრაუზერების უმრავლესობამ შეასრულა უაღრესად მოთხოვნილი ფუნქციები, რომლებიც ჯერ კიდევ არ აკმაყოფილებს სტანდარტებს.

ამრიგად, IE 6.0 ახლა ყველა მე -20 მომხმარებელს იყენებს (დაახლოებით 5%). მათ მაინც უნდა გაითვალისწინონ.

ეს გრძელი შესავალი გულისხმობს იმის გარკვევას, თუ რამდენად სერიოზული უნდა იყოს მხარი ბრაუზერის ზოგიერთი ვერსიის მხარდაჭერაზე, საჭიროა პერიოდული გამოკვლევა იმის გასაგებად, თუ რა არის სიტუაცია. ეს განსხვავებული იქნება სხვადასხვა რეგიონისთვის, ეს შეიძლება დამოკიდებულია საიტის თემზეც. ადრე თუ გვიან ჩნდება იდეა მომხმარებლის ინფორმირების შესახებ, რომ უკვე არსებობს ახალი ბრაუზერები (დროა დაიწყოთ მათი გამოყენება, მეგობარო!).

რა თქმა უნდა, შეიძლება ვფიქრობთ, რომ ძალიან კარგია, რომ ზოგიერთ ბრაუზერს "დაწინაურდნენ", სხვისი თვალწინ ახალი ფუნქციების მხარდასაჭერად. მაგრამ როდესაც ეს ფუნქციონალები ჯერ კიდევ არ არის სტანდარტიზებული, ის, რასაც ისინი აკეთებენ, უქმნის პრობლემებს დეველოპერებისთვის, რადგან ჩვენ უნდა განვიხილოთ ყველა სხვადასხვა განხორციელება, რომელიც მზადდება თითოეული ფუნქციონალურიდან.

ერთი მხრივ, დეველოპერები მიიჩნევენ, რომ ფენომენალურია ამ ახალი მახასიათებლების ტესტირება. მაგრამ ნაადრევი მიღება ხშირად იწვევს ვებსაიტებს ისეთი თვისებების გამოყენებით, რომლებიც მკვეთრად იმოქმედებს გვერდებზე, როდესაც ბრაუზერის ვერსია იცვლება. ეს საოცარი გამოცდილებაა მომხმარებლებისა და დეველოპერებისთვის. ამ თანამშრომლობით, იგი აპირებს. ბრაუზერის გამოვლენის ყველა პრობლემისა და შეზღუდვის გამო, ახლა ვნახავთ სხვა ალტერნატივას.

შეგიძლიათ განსაზღვროთ ბრაუზერის პროგრამის ვერსია, მისი ოჯახი და განახორციელოთ გარკვეული ზომები, როგორც სერვერის მხარეს, ასევე კლიენტის მხარეს. მაგალითად, javascript კოდი, რომელიც საშუალებას გაძლევთ განსაზღვროთ ეს მომხმარებელი იყენებს IE ვერსიას 7.0-ზე დაბალია

... // დოკუმენტის დატვირთვის შემდეგ, გადამოწმდება ბრაუზერის ვერსია // და განხორციელდება გარკვეული მოქმედებები ...

სანამ იყენებთ ფუნქციონალურ ფუნქციებს, რომლებიც იცით, რომ ზოგიერთ ბრაუზერში სხვაგვარად ხორციელდება, შეგიძლიათ ჩაატაროთ მცირე ტესტირება, რომ ნახოთ თუ რაიმე კონკრეტული ობიექტი, მეთოდი, თვისება ან ქცევა ხელმისაწვდომია შემთხვევით.

უმეტეს შემთხვევაში, ეს შეიძლება გაკეთდეს იმის საშუალებით, რომ შექმნან მოცემული ფუნქციის ახალი ინსტანცია. თუ ეს ინსტალაცია უბრუნებს არაგზირებულ მნიშვნელობას, ბრაუზერს, რომელიც ასრულებს მას, ესმის ეს ფუნქცია. თუ არა, შეგიძლიათ სცადოთ გაერკვნენ, არის თუ არა რაიმე სხვა ვარიანტი, ან შეგიძლიათ გამოიყენოთ ძველი შესრულება, რაც ექვემდებარება შეუთავსებელ ფუნქციებს.

. . .

< / head >

// დოკუმენტის დატვირთვის შემდეგ, შემოწმდება ბრაუზერის ვერსია

ცნობილი ბრაუზერის კონფიგურაცია

ბრაუზერის გამოვლენის და ფუნქციონირების შედარება. ამ დიაგრამების დახმარებით შესაძლებელია სხვადასხვა სიტუაციებში ორ ალტერნატივას შორის განსხვავებების გარკვევა. ეს ყველაფერი შესაძლო ვარიანტები კოდი, რომელიც ეღირება ჩვენი ტესტირების საიტი. როდესაც ვუყურებთ ბრაუზერის ცნობილ კონფიგურაციას, ორივე მეთოდი კარგად მუშაობს.

ბრაუზერის უცნობი პარამეტრები

საქმეები მართლაც საინტერესოა, როდესაც ბრაუზერის უცნობ კონფიგურაციებთან გვაქვს საქმე. ამასთან, ამ მაგალითში, გვერდი კარგად არ გამოიყურება, თუ ბრაუზერის გამოვლენას გამოვიყენებთ, რადგან არ არსებობს ალტერნატივა, რომელიც აკავშირებს ყველა მოქმედი კოდის სეგმენტს, თუნდაც ის, რომ გვერდი შეიცავს ყველა იმ კოდს, რომელიც სწორად უნდა ნახოთ ბრაუზერის უცნობი კონფიგურაციაში.

// და გარკვეული ქმედებები განხორციელდა

< body onload = "check_version();" >

. . .

PHP- ში შეგიძლიათ მიმართოთ ბრაუზერის მიერ გადაცემულ თავებს, getallheaders () ფუნქციის გამოყენებით, ის დაუბრუნდება ასოციაციურ მასივს, სადაც ელემენტი შეიცავს ინფორმაციას ბრაუზერის შესახებ.

ასე რომ, გავარკვიეთ, რომ სულ მცირე 2 გზა არსებობს. რომელია უკეთესი? მე ვარ მომხრე იმის უზრუნველსაყოფად, რომ ყველა არასაიმედო სამუშაო, რაც კლიენტურ მხარესთან მარტივად არის შესაძლებელი, შესრულებულია კლიენტის აპარატზე. დღესდღეობით, ხშირად ხდება, რომ კლიენტ მანქანების რესურსები მნიშვნელოვნად აღემატება ვირტუალური გამოყოფილი ვებ სერვერების შესაძლებლობებს. დაე, შეძლებისდაგვარად იმუშაონ :).

ფუნქციონირების განსაზღვრის მაგალითები

პირველი, ყოველთვის შეამოწმეთ სტანდარტები, რადგან ხშირად ბრაუზერი მხარს უჭერს უახლეს სტანდარტს და წინა კოდის გარკვეულ ალტერნატივას. მეორეც, თითოეულ ტესტში, მხოლოდ შესაბამისი ფუნქციების შემოწმება ხდება, რომლებიც იძებნება, ყოველთვის ცდილობენ უმცირეს რაოდენობას მიიღონ ფუნქციონალურითავსებადია ყველა ბრაუზერთან სიურპრიზების თავიდან ასაცილებლად.

მოდით გადახედოთ თვისებების გამოვლენის რამდენიმე მაგალითს. შემდეგი სკრიპტი ხსნის ორ ალტერნატივას. კიდევ ერთი კარგი ტაქტიკა არის ფუნქციების ფუნქციების აღმოჩენის დაფიქსირება, რომლის გამოყენება შესაძლებელია თქვენს კოდში. ის უბრალოდ ბრუნდება ჭეშმარიტად ან მცდარად, რაც აადვილებს სუბტროდუქტის გამოყენებას.

მეორეს მხრივ, JavaScript- ები შეიძლება საერთოდ არ იმუშაონ კლიენტზე, შემდეგ კი სერვერზე შემოწმება ერთადერთი გზაა. ეს ფენომენი ძალზე იშვიათია, თუმცა ზუსტი სტატისტიკა არ მაქვს.

აქ ასევე არის "ნაკლოვანებები". ყოველივე ამის შემდეგ, ჩემი პირადი უპირატესობის გარდა, სერვერული მხარის დამოწმება იქნებოდა ფუნდამენტურად უფრო სწორი მიდგომა. მხოლოდ იმიტომ, რომ შეუძლებელი იქნება ბრაუზერის ვერსიის დადგენა ზოგიერთ ძველ კლიენტზე, როგორც ეს მე აჩვენა მაგალითში. და სცენარი უფრო რთული იქნება. ერთ-ერთი ნაკლოვანება შეიძლება იყოს საიტების ქეშირების გვერდების დამცავი სისტემა (მაგალითად, დრუპალში). მას შემდეგ რაც სერვერის მხარეზე დაადგინეს, რომ კლიენტი შესაფერისია ან, პირიქით, არ არის შესაფერისი საიტის სანახავად, ამ შედეგის გვერდი ნაჩვენები იქნება ყველა სხვა ანონიმური კლიენტისთვის, სანამ ქეშის მოქმედების ვადა ამოიწურება. ასეთ შემთხვევებში, javasctipt უკვე ერთადერთი შესაფერისი ვარიანტია.

თვისებების გამოვლენის გამოყენებისას ყოველთვის გამოიყენეთ იგი ახლად შექმნილ ელემენტებზე ან ობიექტებზე. ამით თქვენ შეგიძლიათ გააკონტროლოთ ის შემთხვევა, როდესაც იმავე გვერდზე კიდევ ერთმა სკრიპტმა შეძლო შექმნას სიტუაცია შექმნის დღიდან, რაც გამოიწვევს არაპროგნოზირებად და არაპროგნოზირებად ქცევას.

ბრაუზერი აჩვენებს ზედა ქვეპუნქტის მიერ მხარდაჭერილ პირველ ქვესაქვს და ვიზუალურად მალავს ქვემოთ მოცემულ ნივთებს. მისი უმარტივესი ფორმით, პროცედურა ასე გამოიყურება. მაგრამ სარეზერვო ასევე მუშაობს სხვადასხვა ვიდეო ფორმატისთვის იმავე ეტიკეტზე. თქვენი ბრაუზერი ჩვეულებრივ არ უჭერს მხარს ვიდეოს.

მოვიდა Fancybox მოდულის ამ საქციელის შესახებ. როდესაც მოდალზე ფანჯარა იხსნება, მთავარი ფანჯარა გადადის მაღლა. როგორ გავუმკლავდეთ ამას? ეს ყოველთვის არ ხდება, მაგრამ განლაგების ზოგიერთ შემთხვევაში. განლაგების შეცვლა უკვე პრობლემურია, ...