Çözüldü JavaScript pencereye yazılan "<script>"i Kod olarak algılıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Kafadan_Kontak

Decapat
Katılım
3 Mart 2021
Mesajlar
96
Daha fazla  
Cinsiyet
Erkek
Buradaki sorun ne acaba neden scripti metin bloğu olmasına rağmen tag diye algılıyor?

JavaScript:
var myWindow = window.open("", "MsgWindow", "width=200,height=100");
var kod="alert('deneme')"; //normalde burayı kullanıcı girecek.
var script="<script>"+kod+"</script>"
myWindow.document.write(script); //Hata: Script tagını metin olmasına rağmen koddaki tag zannediyor.

Bu kodu çalıştırırsam bana hata veriyor nasıl çözebilirim bunu?
 
Çözüm
Bu şekilde dene;

Kod:
var myWindow = window.open("", "MsgWindow", "width=200,height=100");
var kod="alert('deneme')"; //normalde burayı kullanıcı girecek.
var script="\<script\>"+kod+"\<\/script\>"
myWindow.document.write(script); //Hata: Script tagını metin olmasına rağmen koddaki tag zannediyor.
Hocam cahilliğime verin ama hayatımda ilk defa böyle bir kod yazım şekli görüyorum. Ne yapmaya çalıştığınızı söylerseniz belki daha iyi yardımcı olabiliriz.
 
var myWindow = window.open("", "MsgWindow", "width=200" , "height=100");
olarak düzeltin.

JavaScript:
var myWindow = window.open("", "MsgWindow", "width=200", "height=100");
var code = "alert('deneme')";
var script = `<script>${code}</script>`;
var cleaned = script.replace(/>/g, '&#62;').replace(/</g, '&#60;');
myWindow.document.write(cleaned);
 
Buradaki sorun ne acaba neden scripti metin bloğu olmasına rağmen tag diye algılıyor?

JavaScript:
var myWindow = window.open("", "MsgWindow", "width=200,height=100");
var kod="alert('deneme')"; //normalde burayı kullanıcı girecek.
var script="<script>"+kod+"</script>"
myWindow.document.write(script); //Hata: Script tagını metin olmasına rağmen koddaki tag zannediyor.

Bu kodu çalıştırırsam bana hata veriyor nasıl çözebilirim bunu?

Yapmaya çalıştığım şey kullanıcının bazı verileri ayrı bir pencerede görüntülemesini istiyorum. Bunu yaparken de oluşturduğum pencereye script etiketiyle JavaScript koymaya çalıştım. Ancak tarayıcı bunu HTML tagı <script> zannediyor. Bu yüzden script ekleyemiyorum.
var myWindow = window.open("", "MsgWindow", "width=200" , "height=100");
Olarak düzeltin.

JavaScript:
var myWindow = window.open("", "MsgWindow", "width=200", "height=100");
var code = "alert('deneme')";
var script = `<script>${code}</script>`;
var cleaned = script.replace(/>/g, '&#62;').replace(/</g, '&#60;');
myWindow.document.write(cleaned);

Hocam projenizi test ettim ancak maalesef hata aldım. Kodun bu şekilde olduğundan emin misin? Ben de çalışmadı çünkü.
 
Bunu yaparken de oluşturduğum pencereye script etiketiyle JavaScript koymaya çalıştım. Ancak tarayıcı bunu HTML tagı <script> zannediyor. Bu yüzden script ekleyemiyorum.

Hocam hala hiçbir şey anlayamıyorum JavaScript dosyasına script tagı neden eklemeye çalışıyorsunuz. Proje git üzerinde varsa orada inceleyebilirim.
 
Hocam hala hiçbir şey anlayamıyorum JavaScript dosyasına script tagı neden eklemeye çalışıyorsunuz. Proje git üzerinde varsa orada inceleyebilirim.

Bak şimdi hocam benim bir sitem var. Bu sitemdede kullanıcı bir butona bastıktan sonra yeni bir pencere açtırıyorum(sebebi de yeni pencerede Console kısmı calismiyor ayrıca diğer türlü siteye gömersemde tasarım kötü oluyor) bende bu oluşturduğum yan pencereye HTML kodu ekleyebiliyorum bunda sıkıntı yok. Ancak script tagı eklemek istediğimde hata aliyorum.
Window open() Method bu pencere oluşturma methodum. Ancak script hâla ekleyemiyorum 😕
 
Script çalışacak mı sayfada gözükecek mi?
Eğer çalışacaksa hata var myWindow = window.open("", "MsgWindow", "width=200" , "height=100"); kısmında.
Attığım şekilde düzeltin çalışır.

Javascript js dosyası olarak değilde asıl HTML içerisindeki <script> tagları arasında yer alıyorsa ${} syntaxı sorun çıkarıyor olabilir + olarak değiştirin düzelir.
 
Bu şekilde dene;

Kod:
var myWindow = window.open("", "MsgWindow", "width=200,height=100");
var kod="alert('deneme')"; //normalde burayı kullanıcı girecek.
var script="\<script\>"+kod+"\<\/script\>"
myWindow.document.write(script); //Hata: Script tagını metin olmasına rağmen koddaki tag zannediyor.
 
Çözüm
Script çalışacak mı sayfada gözükecek mi?
Eğer çalışacaksa hata var myWindow = window.open("", "MsgWindow", "width=200" , "height=100"); kısmında.
Attığım şekilde düzeltin çalışır.

JavaScript js dosyası olarak değil de asıl HTML içerisindeki <script> tagları arasında yer alıyorsa ${} syntaxı sorun çıkarıyor olabilir + olarak değiştirin düzelir.

Yok hocam dediğinizi yaptım ancak yine olmadı 🙁
Bu şekilde dene;

Kod:
var myWindow = window.open("", "MsgWindow", "width=200,height=100");
var kod="alert('deneme')"; //normalde burayı kullanıcı girecek.
var script="\<script\>"+kod+"\<\/script\>"
myWindow.document.write(script); //Hata: Script tagını metin olmasına rağmen koddaki tag zannediyor.

Hocam, çok teşekkürler oldu sonunda. Gerçekten çok tuhaf bir hataydı. Sizin sayenizde çözdüm🙂
 

Geri
Yukarı