IE8中的Javascript换行

时间:2011-11-01 15:03:45

标签: javascript jquery javascript-events

我有一个脚本,它使用此行作为某些地理编码的一部分。

var dms = String(dmsStr).trim().replace(/^-/,'').replace(/[NSEW]$/i,'').split(/[^0-9.,]+/);

除了IE之外,它在除IE之外的所有浏览器中都能正常工作。

我发送参数。

0.5501039994056782

这不是我的代码我只是在调试它。我假设它可能是一个问题,将它类型化为字符串,因为它显然是一个数字。

但我喜欢一些反馈。

3 个答案:

答案 0 :(得分:3)

IE8中没有String.trim()。您可以这样添加:

if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}

根据this answer.

答案 1 :(得分:0)

我不认为IE有trim()。试试这个:

if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}

有关详细信息,请参阅this SO question

答案 2 :(得分:0)

确切的错误是

"Object doesn't support property or method 'trim'" 

所以要解决你可以这样做:

var dms = jQuery.trim(String(dmsStr)).replace(/^-/,'').replace(/[NSEW]$/i,'').split(/[^0-9.,]+/);