var shell = function (method) {
window[method].apply(null, Array.prototype.slice.call(arguments, 1));
};
shell('alert', 'monkey!');
Respuesta
alert.apply es el problema. La alerta no es parte del lenguaje, por lo que puede que ni siquiera sea una función. Es dependiente de la implementación.
Correcto - IE expone las API en 'ventana' y en los elementos DOM a Javascript, pero la exposición es limitada y generalmente no puede tratar tales cosas como si fueran componentes Javascript" reales ". – Pointy
+1 de acuerdo con galambalazs. – Krunal
Buen punto, pero entonces no debería funcionar: var shell = function (método) { var fn = window [method]; fn.apply = Function.prototype.apply; fn.apply (null, Array.prototype.slice.call (arguments, 1)); }; shell ('alerta', 'mono!'); – shawndumas
- 1. innerHtml funciona en IE y Firefox, Chrome, pero no
- 2. ¿Por qué Ajax.BeginForm no funciona en Chrome?
- 3. ¿Por qué el oyente keydown no funciona en IE
- 4. ¿Por qué $() no funciona pero funciona jQuery()?
- 5. ¿Por qué funciona esto?
- 6. window.print no funciona en IE
- 7. Por qué colgroup/col no funciona en Chrome
- 8. atob no funciona en IE
- 9. ¿Por qué no funciona esto la comprensión?
- 10. evento de pulsación de tecla que no funciona en IE y Chrome, pero que funciona en FF
- 11. Animación CSS: ¿Funciona en Chrome pero no en Firefox?
- 12. & bullet; no funciona en IE?
- 13. (! [] + []) [+ []] ... Explicar por qué esto funciona
- 14. Tubería de Python en Windows: ¿Por qué esto no funciona?
- 15. $ .getJSON no funciona en IE
- 16. jQuery .append() no funciona en IE, Safari y Chrome
- 17. myView.frame.origin.x = value; no funciona, pero ¿por qué?
- 18. ScrollTop no funciona en IE
- 19. Jquery Form.submit() en Chrome funciona pero no en Firefox
- 20. Haskell Pattern Matching en cadenas - ¿Por qué esto no funciona?
- 21. observador no funciona en IE
- 22. ¿Por qué IE respeta el ancho de CSS de la etiqueta, pero no Firefox o Chrome?
- 23. evento no se define en Firefox, pero está bien en Chrome e IE
- 24. window.print() no funciona en IE
- 25. Cursor: la mano no funciona en cromo y mozilla pero funciona en ie
- 26. jQuery $ .ajax no funciona en IE8 pero funciona en Firefox y Chrome
- 27. alert() no funciona en Chrome
- 28. El constructor de fecha devuelve NaN en IE, pero funciona en Firefox y Chrome
- 29. jQuery: no (: en primer lugar) no funciona en IE8, pero lo hace en FF y Chrome
- 30. .is jQuery ("Visible") funciona en Firefox, pero no Chrome
porque IE es malo – Jimmy
Ver la respuesta a esta pregunta: http://stackoverflow.com/questions/120804/difference-between-array-slice-and-array-slice –
no, Array.prototype.slice.call (argumentos, 1) está bien. – galambalazs