Nasıl Dinamik Javascript üretebilir?

4 Cevap php

Ben YUI kullanarak bir sayfa oluşturmak. ve kullanıcıya bağlı olarak ben bu hale nasıl değiştirmek gerekir. Bu değişiklik her kullanıcı için köklü ve farklı, parametrize edilebilir bir şey değildir.

Nasıl JavaScript dinamik olarak üretebilir Lütfen söyle bana?

4 Cevap

Ne arıyorsanız ben şahsen bazı temel oturumu ve iç ayarların yapılmış bir JavaScript nesnesi, istemci bilgi aktardığı aşırı güvenli değil gibi kritik şey misyonu geçmek için bir php dosyası kullanabilirsiniz, ama ben o kadar aynı ilkeleri takip olabilir inanıyorum için.

Benzer şekilde, tüm yetkilendirme hala sunucu tarafında yapılmış olmasına rağmen, istemci, kaydedilir kez belirli öğeleri görüntülemek için kullanabilirsiniz. Benim oturum işleyicisi PHP dosyasını ok verirse, aksi halde hiçbir çıktı değil, bir PHP heredoc dize kullanarak bir JavaScript nesnesi çıktılar. Sen karşı karşılaştırmak için bu nesnenin özelliklerini kullanabilir, ya da belirli bir sayfa php dosyasındaki ayarlara dayalı hale getirilmelidir nasıl çıkışı sadece JavaScript olabilir.

HTML:

<script src="common/javascript/php_feeder.php" type="text/javascript"></script>

PHP:

//my session handler authorisation check has been removed
//although you could place your own up here.

//assuming session was authorised
//set content type header
header("content-type: application/x-javascript"); 

$js_object = <<<EOT
var my_object = {
    my_attr: '{$my_attr}',
    my_attr2: '{$my_arrt2}',
    etc: '{$etc}'
}
EOT;

print($js_object);

Muhtemelen iki ayrı Java komut dosyaları oluşturmak ve gerekli dosyayı dahil, kullanıcı türüne bağlı olabilir.

Pseudocode

If user_type is One
    <Script src='one.js' type='javascript'></script>
else
    <Script src='other.js' type='javascript'></script>
End If

JavaScript bir eval işlevi vardır, bu yüzden string değişken üzerinde bir dize değişkeni içine yazma (ve daha sonra eval arayarak JavaScript üretebilirsiniz (ben denemedim) düşünüyorum .)

Burada detaylandırılması Biraz kesinlikle size daha descript ve faydalı bir yanıt almak yardımcı olacaktır. Deyimi farklı kullanıcılar için belirgin çeşitli deneyimler sağlamak için ise akılda olsa da, kolayca, sadece bir iç ilan işlevlerini kullanabilirsiniz.

A very temel örnektir:

<script>
function do_something(userType)
 {
if (userType == 'A')
 {
// everything you need to do for userType A
 }
if (userType == 'B')
 {
// everything you need to do for userType B
 }
 }
</script>