我尝试.trim()在我的一个JavaScript程序中应用一个字符串.它在Mozilla下工作正常,但是当我在IE8中尝试它时会显示错误.有谁知道这里发生了什么?无论如何我可以在IE中使用吗?
var ID = document.getElementByID('rep_id').value.trim();
Run Code Online (Sandbox Code Playgroud)
Message: Object doesn't support this property or method Line: 604 Char: 2 Code: 0 URI: http://test.localhost/test.js
如果您已经使用过任何长度的JavaScript,那么您就知道Internet Explorer没有为Array.prototype.indexOf()[包括Internet Explorer 8]实现ECMAScript函数.这不是一个大问题,因为您可以使用以下代码扩展页面上的功能.
Array.prototype.indexOf = function(obj, start) {
for (var i = (start || 0), j = this.length; i < j; i++) {
if (this[i] === obj) { return i; }
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
我什么时候应该实现这个?
我应该使用以下检查将其包装在我的所有页面上,检查是否存在原型函数,如果不存在,请继续并扩展Array原型?
if (!Array.prototype.indexOf) {
// Implement function here
}
Run Code Online (Sandbox Code Playgroud)
或者浏览器检查,如果它是Internet Explorer,那么只需实现它?
//Pseudo-code
if (browser == IE Style Browser) {
// Implement function here
}
Run Code Online (Sandbox Code Playgroud) javascript internet-explorer cross-browser internet-explorer-8
history.pushstate()在IE中不受支持.在IE中有没有其他方法可以实现这一目标?