首頁 > web前端 > js教程 > 主體

為什麼 .trim() 在 Mozilla 中可以工作,但在 IE8 中會拋出錯誤?

Barbara Streisand
發布: 2024-11-21 07:41:14
原創
899 人瀏覽過

Why does .trim() work in Mozilla but throws an error in IE8?

在JavaScript 中使用.trim():IE 中的挑戰

雖然.trim() 方法在JavaScript 中廣泛用於刪除前導以及字串尾隨空格,使用者在Internet Explorer (IE) 瀏覽器中使用它時可能會遇到問題。這個常見問題引發了以下問題:

問題:

在 Mozilla 下嘗試將 .trim() 應用於 JavaScript 中的字串時,它運行成功。然而,在 IE8 中使用相同的程式碼會導致錯誤。這種差異的解釋是什麼?是否有任何解決方案可以使 .trim() 與 IE 相容?

代碼摘錄:

var ID = document.getElementByID('rep_id').value.trim();
登入後複製

錯誤訊息:

Message: Object doesn't support this property or method
Line: 604
Char: 2
Code: 0
URI: http://test.localhost/test.js
登入後複製

答案:

答案:
if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}
登入後複製
答案:

IE 中出錯的原因是.trim() 方法不是內建函數在IE9 之前的IE 版本。要解決此問題並在 IE 中提供 .trim() 功能,您可以實現以下程式碼:此程式碼擴展了 String 原型以包含 .trim() 方法。它利用正規表示式來匹配和刪除前導和尾隨空格。透過將此程式碼新增至您的腳本中,.trim() 也可以在 IE 中無縫使用。

以上是為什麼 .trim() 在 Mozilla 中可以工作,但在 IE8 中會拋出錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板