ზოგჯერ ძალიან სასარგებლოა მიმდინარე დოკუმენტის სხვა რესუსრზე გადამისამართება JavaScript – ის მეშვეობით. თუმცა ბროუზერებს შორის არსებული განსხვავებების გამო კოდის ბროუზერის შესაბამისად წერა გვიწევს. იმის დადგენა თუ რომელ ბროუზერში ვმუშაობთ, ჩემთვის პირადად არასასიამოვნო და თავის მომაბეზრებელი პროცედურაა თუმცა ამის გაკეთება მუდმივად მიწევს
გადამისამართების გაკეთება ცეცხლაკუდაში შეგვიძლია მარტივად, შემდეგი კოდის შესრულებით document.location = “http://www.google.com”; ხოლო ინტერნეტ ექსპლორერისთვის იგივე შედეგი ამ მარტივი კოდით document.location.href(“http://www.google.com”); შეგვიძლია მივიღოთ. რომელი ბროუზერის რეალიზაციია უფრო სწორი ნაკლებად მნიშვნელოვანია, თუმცა განსხვავება თვალში საცემია.
ხშირად იმის გარკვევის ნაცვლად თუ რომელ ბროუზერში მუშაობს კოდი, მივმართავ try/catch ბლოკს და ამ შემთხვევაშიც სავსებით გამოსადეგი აღმოჩნდა ეს მიდგომა. კოდი კი ასე შეგვიძლია ჩავწეროთ:
1 2 3 4 5 6 7 8 9 10 11 | function redirect(path) { if (path) { try { //Internet Explorer; document.location.href(path); } catch(e) { //Mozilla FireFox document.location = path; } } } |
შესაბამისი HTML კოდი, სკრიპტის გასატესტირებლად:
როგორ მუშაობს try/catch ამას დიდი ახსნა არ სჭირდება, იმის თქმაც კი საკმარისია რომ თუ try ბლოკში კოდის შესრულებისას მოხდება რაიმე გაუთვალისწინებელი შემთხვევა, შესრულება გადაინაცვლებს catch ბლოკში და უკვე მის შიგნით არსებული კოდი შესრულდება.
ნაცვლად იმისა რომ ვარკვიოთ თუ რომელ ბროუზერში სრულდება სკრიპტი სავსებით მარტივად და უსაფრთხოთ შეგვიძლია იგივე პრობლემა მოვაგვაროთ ზემოთ აღნიშნული მეთოდით და რაც მთავარია ეს მეთოდი სხვა უამრავ შემთხვევაშიც გამოსადეგია და უშეცდომოდ მუშაობს.
ტეგები: JavaScript