Javascript'te bir sözdizimi-vurgulayıcı oluşturmak için içerik düzenlenebilir bir iframe kullanıyorum ve en önemli şeylerden biri kodu doğru girintilemektir.Webkit'teki seçme aralıkları (Safari/Chrome)
Aşağıdaki kod Firefox'ta sadece gerektiği gibi çalışır:
// Create one indent character
var range = window.getSelection().getRangeAt(0);
var newTextNode = document.createTextNode(Language.tabChar);
range.insertNode(newTextNode);
range.setStartAfter(newTextNode);
Bir sekme kömürü oluşturur ve karakter sağ tarafına imleci hareket ettirir. Chrome ve Safari'de bir karakter eklenir ancak imleç sağa doğru hareket etmez.
Aralık nesnesini hem Chrome hem de Firefox'ta inceledim ve ardından Firefox'un aralık nesnesinin Chrome'dan çok daha zengin olduğunu fark ettim. Web aralığındaki aralık nesnesinin herhangi bir özelliğini bulamadım.
nasıl hem webkit ve Firefox için bu kod çalışması yapabilir?
Teşekkür ederiz!
Fantastik! Hem Firefox'ta hem de Chrome'da çalışıyor :) Teşekkürler! – Christoffer
Dolayısıyla Firefox'ta range.setStartAfter() çağrısı, seçimi güncelleyecektir, selection.addRange() çağrısı gerekli değildir. Ancak krom, addRange() çağrısına ihtiyaç duyar. – maulik13
@ maulik13: Bu doğru. Ancak, Firefox bunu yapan tek tarayıcıdır ve bu özellik hakkında bir şey söylemez, dolayısıyla genellikle 'addRange()' çağrısını bu incelikten bahsetmeden kullanmanızı öneririm. –