Maison > Questions et réponses > le corps du texte
Le code prettify que j'utilise est la mise en surbrillance du code source.
Il doit être écrit en <pre> pour être mis en surbrillance, et <pre> doit être ajouté avec class="prettify"
J'utilise donc $("pre"). attr( "class", "prettify"); ajoutez le tout en js en même temps.
Pas besoin de l'écrire à la main.
Le code ressemble probablement à ceci
<pre>
<?php
echo "hello world";
?>
</pre>
L'ordre js en bas est comme ça
<script src="./public/js/jquery.min.3.2.1.js"></script>
<script>$(function () {
$("pre").attr("class", "prettyprint");
});</script>
<script src="./public/prettify/run_prettify.js"></script>
Sous Google Chrome, il est normal d'analyser jq d'abord, puis d'analyser mon js qui ajoute des classes. Enfin, le js avec mise en évidence du code source est exécuté
Mais sous Firefox et IE, jq est exécuté en premier, et la deuxième étape est exécutée. exécuté.js avec le code source en surbrillance. La troisième partie exécute mon js manuscrit
Je ne sais pas pourquoi cela se produit.
怪我咯2017-05-19 10:36:37
$(function () {
$("pre").attr("class", "prettyprint");
});
$(function () { consiste à exécuter le JS à l'intérieur après le chargement du DOM de la page. Le JS est déjà exécuté selon votre commande. C'est juste que vous mettez l'écoute d'événement au milieu.
Vous pouvez également mettre en surbrillance le code après le chargement du DOM.
漂亮男人2017-05-19 10:36:37
https://github.com/amdjs/amdj...
/q/10...
Cet article peut résoudre votre problème
高洛峰2017-05-19 10:36:37
<script src="./public/js/jquery.min.3.2.1.js"></script>
<script>
$("pre").attr("class", "prettyprint");
</script>
<script src="./public/prettify/run_prettify.js" defer="defer"></script>
Essayez-le