HTML <script> element kodu çalışmıyor

bruhshot

Centipat
Katılım
16 Şubat 2021
Mesajlar
276
Çözümler
2
HTML:
<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 </head>
 <body>
 <p>Deneme</p>
 <h2>Deneme</h2>
 <script>
 function myFunction() {
 javascript:document.body.contentEditable='true'; document.designMode='on'; void 0
 }
 </script>
 </body>
</html>

Hata nerede? henüz yeni başladım HTML'e, W3Schools'ta şöyle yazıyordu:

1642968155525.png


Kod neden çalışmadı? Hata göstermiyor, yoksa kod sadece Chromedevtools'ta mı geçerli? Bilgilendirirseniz sevinirim, iyi geceler.
 
Son düzenleyen: Moderatör:

await

Picopat
Katılım
2 Ocak 2022
Mesajlar
93
Çözümler
4
Merhaba :)

Sen sadece bir fonksiyon yazmışsın, ancak bu fonksiyonu hiç bir zaman çağırmıyorsun. Bu yüzden senin yazdığın script execute edilmiyor.

Çağırmak için yine script tag'i içine fonksiyonundan sonra myFunction() şeklinde çağırmalısın. Ya da bunu bir butona onclick vererek bağlayabilirsin.

Ek olarak yazdığın fonksiyonun yanlış olduğunu düşünüyorum.
Bildiğim kadarıyla javascript:document.... gibi bir syntax kullanılmıyor. Çok çok çok eskiden bunun pseudo url olarak linklerde javascript çalıştırmak için kullanıldığını hatırlıyorum. Ancak javascriptin kendisinde böyle bir kullanım yok ve sen de kullanmamalısın.

Yine void 0'ın yanlış bir kullanım olduğunu düşünüyorum. Bu fonksiyondan bir şey döndürmene ihtiyaç olmamalı. Ama yine de döndürmek istiyorsan, return 0 yapman daha uygun olacaktır. Ya da void 0'ın eşleniği olarak return undefined kullanabilirsin(Bu da yanlış bir kullanım aslında yazdığımız fonksiyonun tanımsız dönmesi bizim için çok faydalı değil).

Ayrıca
document.designMode='on';
document.body.contentEditable='true'

Aynı şeyleri yapıyor. Tüm dökümanı editable yapacağından document.designMode yeterli.

Bu fonksiyonu ben şu şekilde yazardım:

JavaScript:
function makeBodyEditable() {
    document.designMode='on';
}
 
Yukarı