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
splitmethod is fine, it’strimthat’s causing the problem. You can use this little polyfill from MDN:String.prototype.trimis not available in IE < 9. The snippet of code above simply adds thesplitmethod toString.prototypeif it doesn’t already exist, and behaves exactly as you would expect the native implementation to.If you are using jQuery, there is a
$.trimmethod you can use.