para pagina navegador internet instalar habilitar gratis como chrome celular bien activar javascript html

pagina - instalar javascript



El código no se ejecuta en IE 11, funciona bien en Chrome (8)

Agregar el siguiente código al archivo JS funcionó para mí:

if (!String.prototype.startsWith) { String.prototype.startsWith = function(searchString, position) { position = position || 0; return this.indexOf(searchString, position) === position; }; }

El siguiente código se puede ejecutar sin problemas en Chrome, pero arroja el siguiente error en Internet Explorer 11.

El objeto no admite la propiedad o el método ''comienza con''

Estoy almacenando la ID del elemento en una variable. ¿Cual es el problema?

function changeClass(elId) { var array = document.getElementsByTagName(''td''); for (var a = 0; a < array.length; a++) { var str = array[a].id; if (str.startsWith(''REP'')) { if (str == elId) { array[a].style.backgroundColor = "Blue"; array[a].style.color = "white"; } else { array[a].style.backgroundColor = ""; array[a].style.color = ""; } } else if (str.startsWith(''D'')) { if (str == elId) { array[a].style.backgroundColor = "Blue"; array[a].style.color = "white"; } else { array[a].style.backgroundColor = ""; array[a].style.color = ""; } } } }

<table> <tr> <td id="REP1" onclick="changeClass(''REP1'');">REPS</td> <td id="td1">&nbsp;</td> </tr> <tr> <td id="td1">&nbsp;</td> <td id="D1" onclick="changeClass(''D1'');">Doors</td> </tr> <tr> <td id="td1">&nbsp;</td> <td id="D12" onclick="changeClass(''D12'');">Doors</td> </tr> </table>


Como otros han dicho, comienza con y termina con son parte de ES6 y no están disponibles en IE11. Nuestra empresa siempre utiliza la biblioteca lodash como una solución de polyfill para IE11. https://lodash.com/docs/4.17.4

_.startsWith([string=''''], [target], [position=0])


Reemplace la función beginWith con:

yourString.indexOf(searchString, position) // where position can be set to 0

Esto será compatible con todos los navegadores, incluido IE

La posición se puede establecer en 0 para iniciar la coincidencia desde el inicio, lo que significa la posición 0.


Si bien la publicación de Oka está funcionando muy bien, podría estar un poco desactualizada. Descubrí que lodash puede abordarlo con una sola función. Si tiene instalado lodash, puede ahorrarle algunas líneas.

Sólo inténtalo:

import { startsWith } from lodash;

. . .

if (startsWith(yourVariable, ''REP'')) { return yourVariable; return yourVariable; } }


Si esto sucede en la aplicación Angular 2+, puede simplemente descomentar los polyfills de cadenas en polyfills.ts :

import ''core-js/es6/string'';


También me enfrenté recientemente al problema. Resolví usando ^, que es similar a startwith en jquery . Decir,

var str = array[a].id; if (str.startsWith(''REP'')) {..........}

nosotros podemos usar

if($("[id^=str]").length){..........}

Aquí, str es id del elemento.


String.prototype.startsWith es un método estándar en la versión más reciente de JavaScript, ES6.

Mirando la tabla de compatibilidad a continuación, podemos ver que es compatible con todas las plataformas principales actuales, excepto las versiones de Internet Explorer.

╔═══════════════╦════════╦═════════╦═══════╦═══════════════════╦═══════╦════════╗ ║ Feature ║ Chrome ║ Firefox ║ Edge ║ Internet Explorer ║ Opera ║ Safari ║ ╠═══════════════╬════════╬═════════╬═══════╬═══════════════════╬═══════╬════════╣ ║ Basic Support ║ 41+ ║ 17+ ║ (Yes) ║ No Support ║ 28 ║ 9 ║ ╚═══════════════╩════════╩═════════╩═══════╩═══════════════════╩═══════╩════════╝

Tendrá que implementar .startsWith . Aquí está el polyfill :

if (!String.prototype.startsWith) { String.prototype.startsWith = function(searchString, position) { position = position || 0; return this.indexOf(searchString, position) === position; }; }


text.indexOf("newString") es el mejor método en lugar de startsWith .

Ejemplo:

var text = "Format"; if(text.indexOf("Format") == 0) { alert(text + " = Format"); } else { alert(text + " != Format"); }