findIndex () - Methode-Problem mit internet explorer
Mache ich einige tests mit verschiedenen Browsern mit der Selen::Fernbedienung::Driver
Modul.
Ich würde gerne überprüfen, wenn ich einige Artikel in meiner Website-Liste, Liste von einem JavaScript-framework (das schafft grids). Für diesen Fall habe ich im JavaScript-snippet erlaubt Selenium::Remote::Driver
.
Schrieb ich den folgenden code
$script = q{
var paramProgramName = arguments[0];
var list = $('#c-list').dxList('instance');
var items = list.option('items');
var index = items.findIndex(function(el){ return el.name == paramProgramName; });
list.selectItem(index);
return ;
};
$driver->execute_script($script, $programName);
Es funktioniert mit Chrome und Firefox aber nicht mit Internet Explorer, da die findIndex
Methode unterstützt nur version 12 und den folgenden. Aus irgendeinem Grund habe ich auf die version 11.
Was kann ich anders machen, um einen index von jedem browser?
InformationsquelleAutor Chaoui05 | 2016-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie mindestens drei Optionen:
Shim
Array#findIndex
; MDN hat ein shim/polyfill, die Sie verwenden können.Etwas anderes verwenden, dass der IE11 hat, wie
Array#einige
:Etwas anderes verwenden, dass auch der IE8 hat, wie
for
:InformationsquelleAutor T.J. Crowder
können Sie http://underscorejs.org/,
wie zu verwenden:
InformationsquelleAutor Hendra SYP
Statt:
Erzielen Sie das gleiche Ergebnis in beiden IE9 Operationen wie so:
InformationsquelleAutor Ozzy
Einen anderen Weg:
InformationsquelleAutor Mohammed
Einen besseren Weg:
Verwendung:
predicateFunction
.InformationsquelleAutor Shivank Kaul