Shoti Posted August 7, 2014 Share Posted August 7, 2014 გამარჯობა, ვინც JavaScript - ზე წერთ გეცოდინებათ indexOf() - ი და splice() - ი. ეს ორი მეთოდი არ მუშაობს ჩვენს მეგობარს IE8 - ზე. რამდენიმე დღის წინ დამჭირდა ამ ბაგის დაფიქსვა სამსახურში და დავწერ აქაც სოლუშენს იქნებ გამოადგეს ვინმეს. მოკლედ, ეს ორი მეთოდი რომ აამუშაოთ IE8 - ზე დაგვჭირდება ორი ფუნქცია (რომელიც სამართლიანი იქნება მხოლოდ IE 8 - ზე და მის ქვევით) if (document.documentMode && document.documentMode < 9) { var originalSplice = Array.prototype.splice; Array.prototype.splice = function() { var arr = [], max = arguments.length; for (var i = 0; i < max; i++) { arr.push(arguments); } if (arr.length == 1) { arr.push(this.length - arr[0]); } return originalSplice.apply(this, arr); }; Array.prototype.indexOf = function(elt) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) { from += len; } for (; from < len; from++) { if (from in this && this[from] === elt) return from; } return -1; }; } იმედია გამოგადგებათ, მოვრჩი თესქს და მახათის იდეა არ მხიბლავს, ამიტომ ვეცადე პატარა სარგებელი მომეტანა ქვეყნისთვის 5 Link to comment Share on other sites More sharing options...
Recommended Posts