javascript jquery internet-explorer-8 underscore.js

javascript - El subrayado no funciona en IE8



jquery internet-explorer-8 (2)

La premisa de Underscore es que funciona para IE8 y para otros navegadores, pero la forma en que la usas es muy inusual, si no completamente errónea. Lo usarías así:

window.onload = _.bind(function() { this.product.quantityListing(); }, this);

Es decir, sin la new palabra clave.

El resultado de _.bind() es un cierre sobre el cual está vinculado; una vez que el documento termina de cargarse, llamará a la función con el contexto esperado.

Estoy usando _.bind de underscore.js, sin embargo, no funciona en IE8 / 9.

Entiendo que MDN tiene una solución alternativa ( MDN Polyfill , pero no está seguro de si esto se puede aplicar a la biblioteca de guiones bajos, o si hay una solución para esto en el subrayado mismo

Un ejemplo de lo que estoy tratando de lograr es:

window.onload = _.bind(function() { this.product.quantityListing(); }, this);

EDITAR: Estoy usando una instancia de _.bind else donde funciona en IE8, sin embargo, simplemente no funciona cuando quiero verificar que la ventana se haya cargado en IE.


_.bind y la Function#bind shim de MDN hacen esencialmente lo mismo. Si usa el método MDN, no necesita usar el método Underscore.js.

Utilizarías el método MDN así:

window.onload = (function() { this.product.quantityListing(); }).bind(this);

Por otro lado, si usa el calce MDN antes de incluir el subrayado en su página, el subrayado usará la versión calzada si es necesario.

Entonces, si incluye la corrección antes de subrayar, puede usar la que prefiera. Personalmente, me quedaría con el uso de Function#bind , porque tiene (muy poco) mejor rendimiento en los navegadores que lo soportan de forma nativa.