jquery IE8中的Javascript换行

fnvucqvd  于 2022-12-12  发布在  jQuery
关注(0)|答案(3)|浏览(120)

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

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

它在除了IE之外的所有浏览器中都能正常工作,IE会弹出一个错误。
我正在发送参数。
0.5501039994056782
这不是我的代码,我只是在调试它。我假设它可能是一个问题,类型转换为字符串,因为它显然是一个数字。
但我很想听听你的意见。

5sxhfpxr

5sxhfpxr1#

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

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

按照这个答案。

6fe3ivhb

6fe3ivhb2#

我认为IE没有trim()。请尝试以下操作:

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

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

epggiuax

epggiuax3#

精确误差为

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

因此,要解决这个问题,您可以执行以下操作:

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

相关问题