Blogger veya benzeri XML tabanlı sistemlerde & (ampersand) karakterinin hata vermesinin temel sebebi, bu karakterin kod yapısında özel bir işlevi olmasıdır. XML standartlarına göre bu karakteri doğrudan kullanamazsınız; onun yerine "kaçış karakteri" (escape character) olan & formunu kullanmanız gerekir.
Bunu her seferinde manuel düzeltmek yerine, JavaScript kullanarak sayfa yüklendiğinde metin içindeki hatalı karakterleri otomatik olarak düzeltebilirsiniz.
1. Çözüm: JavaScript ile Otomatik Düzeltme
Aşağıdaki scripti temanızın </body> etiketinin hemen üzerine ekleyebilirsiniz. Bu kod, belirlediğiniz alanlardaki (örneğin yazı içeriği veya başlıklar) hatalı karakter gösterimlerini tarayıcı tarafında temizler.
<script type='text/javascript'> //<![CDATA[ document.addEventListener("DOMContentLoaded", function() { var postContent = document.querySelectorAll('.post-body, .entry-content'); postContent.forEach(function(el) { // HTML içeriğindeki hatalı & işaretlerini düzeltir el.innerHTML = el.innerHTML.replace(/&(?!(amp|lt|gt|quot|apos|#\d+);)/g, "&"); }); }); //]]> </script>
2. Blogger Paneli İçin Kalıcı Çözüm
Eğer hatayı Tema Düzenle (Edit HTML) kısmında kod yazarken alıyorsanız, sistem kaydetmenize izin vermeyecektir. Bu durumda şu kurallara uymanız teknik bir zorunluluktur:
HTML İçinde:
&yerine mutlaka&yazmalısınız.URL İçinde: Linklerdeki
&işaretlerini de&şeklinde değiştirmelisiniz.Örnek:
index.php?id=1&page=2yerineindex.php?id=1&page=2
3. JavaScript/CSS Blokları İçin "CDATA" Kullanımı
Eğer bir script veya stil dosyası ekliyorsanız ve içindeki karakterler hata veriyorsa, kodu CDATA bloğu içine alarak XML motorunun o kısmı denetlemesini engelleyebilirsiniz:
<script type='text/javascript'>
//<![CDATA[
// Buraya yazdığınız & işaretleri artık hata vermez
var link = "site.com/auth?user=test&pass=123";
//]]>
</script>
Önemli İpucu: Yazılarınızı yazarken Blogger'ın "Oluştur" (Compose) modunu kullanıyorsanız, sistem bunu genellikle sizin yerinize halleder. Ancak "HTML Görünümü" modunda veya tema kodlarında çalışıyorsanız, yukarıdaki & kuralı en sağlıklı yöntemdir. &, blogger, sorunu
Hiç yorum yok:
Yorum Gönder