This function works in some IE browsers, but does not work in all. IE 8 gives me an error:
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.3; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET4.0C; .NET4.0E; MS-RTC LM 8) Timestamp: Wed, 25 Apr 2012 15:18:21 UTC
Message: Object doesn't support this property or method
Line: 9
Char: 17
Code: 0
URI: file:///G:/1.html
Code:
GetLink();
function GetLink() {
selectedOption = "asdasdasd: asdasdas|asdadasd:asdadsasd|asdasdasd:asdasdad";
ROOM = selectedOption.split("|")[0].trim().split(":")[1].trim();
BUILDING = selectedOption.split("|")[1].trim().split(":")[1].trim();
var ret = "room_chart.jsp?room=" + ROOM + "&building=" + BUILDING;
return ret;
}
The split
method is fine, it's trim
that's causing the problem. You can use this little polyfill from MDN :
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g,'');
};
}
String.prototype.trim
is not available in IE < 9. The snippet of code above simply adds the split
method to String.prototype
if it doesn't already exist, and behaves exactly as you would expect the native implementation to.
If you are using jQuery, there is a $.trim
method you can use.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.