Nasıl dinamik olarak) (yük ve eval kullanmadan sunucudan Javascript yürütebilirsiniz?

0 Cevap php

Ben yazıyorum bir PHP framework hangi PHP geliştiricileri için create ExtJS interfaces formlar, ızgaralar, tabpanels ve menüleri ile using PHP classes sadece verir.

Bir TabPanel oluşturmak için, örneğin, bir PHP class örneği with an array of URLs ki get loaded dynamically kullanıcı bir sekme başlığına tıkladığında.

Bunu yapmak için, AJAX çağrısı ve executes any scripts içine aracılığı loads a PHP page aşağıdaki Javascript fonksiyonunu kullanın.

function loadViewViaAjax(url) {
    Ext.Ajax.request({
        url: url,
        success: function(objServerResponse) {
            var responseText = objServerResponse.responseText;
            var scripts, scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi;
            while(scripts=scriptsFinder.exec(responseText)) {
                eval(scripts[1]);
            }
        }
    });
}

Ben sık sık usually no need to use eval() Eğer () genellikle olabilir olabilir eval ile ne yapmak gerekir beri var as in the answers to this question okudum achieved in others ways. Ben de AJAX ile yüklenen bir PHP sayfası içindeki betikleri çalıştırarak başka yollarla aşağı kilitli olması gerekir bir güvenlik riski oluşturduğunu anlamak, bu yüzden, eğer mümkünse bunu yapmak için güvenli bir yol başka bulmak istiyorum.

What would be an alternative way to dynamically load and execute javascript from the server without eval(), so that I have the same functionality as I do now with the above script, i.e. TabPanels which load and execute Javascript from the server only when the tab headers are clicked?

0 Cevap