我用的code prettify 原始碼高亮.
必須寫在<pre>中才能高亮,而且<pre>必須要加入class="prettify"
於是我就用$(" pre").attr("class","prettify");一次在js中全部加了.
就不需要手寫了.
程式碼大概是這個樣子
<pre>
<?php
echo "hello world";
?>
</pre>
底部的js順序是這樣的
<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>
在Google瀏覽器下是能正常的先解析jq,然後解析我的添加class的js.最後才是執行源碼高亮的js.
但是在火狐和ie下都是先執行jq,第二步執行原始碼高亮的js.第三部執行我手寫的js
不知道為什麼會這樣.
$(function () { 是在頁面DOM載入完以後執行裡面的JS,JS已經按照你的順序在執行。只是中間你放的是事件監聽。
你可以把程式碼高亮也放在DOM載入完之後。
https://github.com/amdjs/amdj...
/q/10...
這個貼文可以解決你的問題
試試