php kullanarak javascript kodları devre dışı bırakarak?

4 Cevap php

Bazı php kodları kullanarak belirli bir sayfa javascript kodlarını devre dışı bırakmak için bir yolu var mı? Ben çalıştırdığınızda bir sayfada kullanılan tüm javascript'leri (hatta hataları) herhangi bir sonuç vermemelidir emin olmanız gerekir.

4 Cevap

Neden sadece bu özel sayfaları için javascript aşağı göndermek değil mi?

Sayfanızda görüntülenmesini olmayacak şekilde Javascript etrafında PHP conditionals atmak olabilir:

<script type="text/javascript">
<?php if($showJavascript): ?>
// executes the following function
myJavascriptFunc();
<?php endif; ?>

function myJavascriptFunc() {

}
</script>

Ve benim yorumlardan herhangi bir sorunları çözmek için:

<?php var showJavascript = <?php echo ($showJavascript) ? 'true' : 'false'; ?>;
<script type="text/javascript" src="myFile.js"></script>

Son durumda showJavascript bir boolean değerini myFile.js kontrol etmelisiniz.

En kolay yolu (ve etc, yavaş, kirli) yoluyla ya, sayfanın başında output buffer açın, ve, sonunda tamponunun içeriğini yankılanan önce, javascript tüm izlerini kaldırmak için düzenli ifadeler, html ayrıştırıcı, ya da her ikisi bir arada.

<?php
    ob_start();

    // your code here

    $output = ob_get_contents();
    ob_end_clean();

    // Purge your $output here, remove all <script> tags, onclick events, etc.

    echo $output;
?>

Nasıl çıktı temizlemek için zaten SO birçok, birçok kez üzerinde yanıtlandı.

PHP sunucu üzerinde çalıştırmak ve JavaScript kez sunucu parçası yapmış ve tarayıcı tarafından yapıldığını istemci tarafında çalıştığı için böyle bir yolu yoktur.

Ne yapabilirsiniz JS hataları ya da tüm JavaScript kaldırmaz emin olun.