Harici javascript dosyadan Erişim PHP var

8 Cevap php

Böyle Javascript ile bir PHP VAR erişebilirsiniz:

<?php
    $fruit = "apple";
    $color = "red";
?>

<script type="text/javascript">
    alert("fruit: " + "<?php echo $fruit; ?>"); // or shortcut "<?= $fruit ?>"
</script>

Ama ne harici JS dosyası kullanmak istiyorsanız:

<script type="text/javascript" src="externaljs.js"></script>

externaljs.js:

alert("color: " + "<?php echo $color; ?>");

8 Cevap

Eğer gerçekten sayfa hizmet zaman javascript kodu içine yerleştirin erişmek yoktur.

Diğer javascript harici bir kaynaktan değil Ancak eğer böyle bir şey yapabilirsiniz:

<?php
    $color = "Red";
?>
<script type="text/javascript">var color = "<?= $color ?>";</script>
<script type="text/javascript" src="file.js"></script>

ve sonra file.js çok gibi renk kullanın:

alert("color: " + color);

Yaptığım gördüm ne bırakın. Js dosyaları php tercüman aracılığıyla çalıştırın. Which I can not recommend.

Ne tavsiye edersiniz AJAX ile değerleri getiriliyor ve PHP dosyası JS dosyasına değerini döndürür sahip olduğunu. Hangi çok temiz bir yöntemdir.

Her şeyden önce hiçbir program aslında diğer programın değişkene erişebilir olduğunu anlamak zorunda.

When you realize that, the rest is simple.
You can either set up a js variable in the main file and then include your external js, or make this external js dynamic, generated by PHP as well

Büyük olasılıkla ne ister, Asynchronous JavaScript ve XML (AJAX) denir: http://www.w3schools.com/ajax/default.aspa

Temelde, sunucu üzerinde PHP için müşteriler JavaScript mesaj göndermek için güçlü olmak hayal. Eğer (externaljs.js) verdiği örnekte, komut dosyası HTTP üzerinden, ne $ renk sunucu sormak olurdu. Ayrıca istediğiniz JavaScript üreten bir PHP script script etiketi işaret edebilir. Bu yapmanız gereken ne bağlıdır.

Bu kusurları kontrol, veri doğrulama ve güvenlik bazı anlayışa sahip olur ;)

externaljs.js statik bir dosyadır. Tabii ki PHP veri erişemez. Js dosyasına PHP veri geçmek için tek yol bu en iyi bir dağınık çözüm olmasına rağmen fiziksel, PHP komut yazarak onu dosyasını değiştirmek olacaktır.

Ólafur Waage cevabı yanıt Düzenleme: js dosyaya yazma only yol değil sanırım. PHP tercüman aracılığıyla js Passing (sebep) aklımdan bile geçmedi.

Bunu yapmak ve bu önerilen bir yaklaşım değildir gibi dont deneyin, Ancak dış js yazılmış çalışması için bir fonksiyon parametre olarak php değişkenler iletebilirsiniz olamaz

Diğerleri söylediği gibi, javascript php değişkenler erişimi yok. Ancak, DOM erişimi yok. Yani, bazı sayfa öğesinin özelliklerini eklemek için php kullanabilirsiniz. Ve sonra javascript ile bu nitelikleri erişebilirsiniz.

örneğin <div id='apple' class='red'> javascript tamamen kullanılabilir

<script type="text/javascript" src="externaljs.js"></script>

Sen bunu değiştirebilir

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

Ve PHP komut dosyası sadece böyle JavaScript yazabilirsiniz:

<?php
$fruit = "apple";
echo 'var fruit = '.json_encode($fruit);
...

Ajax gibi kullanarak dedi ama Sepehr lajevardi daha temiz olacak