window.execScript() fonksiyon betiği, eval() fonksiyonu gibi, belirtilen JavaScript kodlarının çalıştırılmasını ve aynı zamanda, fonksiyon içerebilecek bu kodların yüklenmesini sağlar. Bu fonksiyon özellikle ajax ile sunucudan asenkron olarak yüklenen ve fonksiyon tanımı içeren JavaScript kodlarının çalıştırılması ve/veya yüklenmesi için kullanılabilir.
execScript() fonksiyonu, Internet Explorer tarayıcısında varsayılan olarak desteklenmektedir.
Sözdizimi
donus = window.exeScript(betik)
| betik | Fonksiyon tanımı içerebilen JavaScript kodlarını belirtir. |
Dönüş Değeri
| donus | Her zaman null döner. |
Örnek
Aşağıdaki örnek, ornekFonk isimli bir fonksiyon tanımı içeren bir metnin window.execScript() fonksiyonu ile yüklenmesini ve sonrasında isteğe göre çalıştırılmasını göstermektedir.
<script type="text/javascript" src="myn_window_execScript.js"></script>
<script type="text/javascript">
function ornekKur() {
var ornekBetik =
"function ornekFonk() {" +
"alert('Örnek Fonksiyon Çalıştı!');" +
"}";
window.execScript(ornekBetik);
}
function ornekCalistir() {
try {
ornekFonk();
}
catch(hata) {
alert("ornekFonk() fonksiyonu tanımlı değil!");
}
}
</script>
<button type="button" onclick="ornekKur()">Betiği Kur</button>
<button type="button" onclick="ornekCalistir()">Çalıştır</button>
Test Edin
myn_window_execScript.js
/*
"window.execScript()" Fonksiyon Betiği v1.1
Telif Hakkı (c) 2009, mynotlar.com, Tüm hakları saklıdır.
http://www.mynotlar.com
*/
if(!window.execScript) {
window.execScript = function(betik) {
var yeni = document.createElement("script");
yeni.type = "text/javascript";
yeni.innerHTML = betik;
var head = document.getElementsByTagName('head')[0];
head.removeChild(head.appendChild(yeni));
}
}