Menggunakan .trim() dalam JavaScript: Cabaran dalam IE
Manakala kaedah .trim() digunakan secara meluas dalam JavaScript untuk mengalih keluar terkemuka dan mengekori ruang kosong daripada rentetan, pengguna mungkin menghadapi masalah apabila menggunakannya dalam pelayar Internet Explorer (IE). Masalah biasa ini telah menimbulkan soalan berikut:
Soalan:
Apabila cuba menggunakan .trim() pada rentetan dalam JavaScript di bawah Mozilla, ia beroperasi dengan jayanya. Walau bagaimanapun, menggunakan kod yang sama dalam IE8 mengakibatkan ralat. Apakah penjelasan untuk perbezaan ini dan adakah terdapat sebarang penyelesaian untuk menjadikan .trim() serasi dengan IE?
Petikan Kod:
var ID = document.getElementByID('rep_id').value.trim();
ralat Mesej:
Message: Object doesn't support this property or method Line: 604 Char: 2 Code: 0 URI: http://test.localhost/test.js
Jawapan:
Sebab ralat dalam IE ialah kaedah .trim() bukan fungsi terbina dalam dalam versi IE sebelum IE9. Untuk menyelesaikan isu ini dan menyediakan kefungsian .trim() dalam IE, anda boleh melaksanakan kod berikut:
if(typeof String.prototype.trim !== 'function') { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); } }
Kod ini memanjangkan prototaip String untuk memasukkan kaedah .trim(). Ia menggunakan ungkapan biasa untuk memadankan dan mengalih keluar ruang kosong di hadapan dan di belakang. Dengan menambahkan kod ini pada skrip anda, .trim() boleh digunakan dengan lancar dalam IE juga.
Atas ialah kandungan terperinci Mengapa .trim() berfungsi dalam Mozilla tetapi membuang ralat dalam IE8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!