2015-10-13 12 views
5

Mam dwa urządzenia z Lollipopem i jednym z Kitekat ... ten z Lollipop nie zgłasza żadnego błędu, ale kiedy próbuję mojej aplikacji, otrzymuję ten błąd:Cordova błąd javascript: nie ma metody zaczyna się z Androidem

10-13 16:56:56.126: I/chromium(6322): [INFO:CONSOLE(99)] "Uncaught 
TypeError: Object ALIM. IL SOLE DI LOPARDO MARIANGELA has no 
method 'startsWith'", source: file:///android_asset/www/soggetti3.html (99) 

tutaj jest część mojego javascript:

function onDeviceReady() { 

     window.rancolor=ranColor(); 

     var ricerca=localStorage.getItem('testo_ricerca'); 
     var risultati = JSON.parse(localStorage["risultati"]); 

     var ricerca1=ricerca.toString(); 
     ricerca1=ricerca1.toUpperCase(); 
     var res_match=[]; 

     var lll=risultati.length; 

     for(var r=0;r<lll;r++){ 

      var ppp0=risultati[r][1].toString(); 
      var ppp1=risultati[r][0].toString(); 
      var ppp2=risultati[r][2].toString(); 
      var ppp3=risultati[r][3].toString(); 

      ppp0=ppp0.toUpperCase(); 
      alert(ppp0); 
      alert(ricerca1); 
      var check=ppp0.startsWith(ricerca1); 

      if(check==true){ 
       res_match=res_match.concat([[ppp1,ppp0,ppp2,ppp3]]); 
      } 

     } 
     var y=res_match.length; 

jak mam szukać tablicę ciągów poszukujących struny, które zaczynają się jakiś inny ciąg?

+0

proszę pisać kodu dla soggetti3.html – Dilberted

+0

zobaczyć zmiany, dziękuję ... – Lorenzo

Odpowiedz

11

Najprostszym sposobem realizacji funkcji startWith pokazano poniżej, a następnie można użyć startswith w kodzie:

if (typeof String.prototype.startsWith != 'function') { 
    // see below for better implementation! 
    String.prototype.startsWith = function (str){ 
    return this.indexOf(str) === 0; 
    }; 
} 
+1

dzięki, człowiek to działa! ale nie rozumiem, że dla niektórych urządzeń startsWith jest zdefiniowany, a dla innych nie ... kod był taki sam! – Lorenzo

+1

To, czy startWith jest dostępne, zależy od Twojego silnika przeglądarki ... wygląda na to, że przeglądarka Android nie wdrożyła tego w JS, ale Chrome zobaczy tutaj mobilną kartę https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith –

+2

Lub po prostu użyj 'str1.indexOf (str2) === 0' zamiast –

Powiązane problemy