2013-03-07 42 views
1

如果存在<pre class="prettyprint">,我只加載腳本。我發現要啓動美化,您需要使用prettyPrint();如何檢查是否加載了美化

但是,在不加載腳本的頁面上,出現Javascript錯誤。有沒有一種方法來測試是否加載了Prettify,然後運行...否則什麼都不做?

+0

更新:AS-今日(見註釋日期)需要這個版本:'PR.prettyPrint()'重新運行。 – 2015-06-17 10:33:09

回答

0

可以測試它像這樣:

if (window.prettyPrint) { 
    prettyPrint(); 
} 
+0

謝謝。比我使用的if(typeof prettyPrint =='function')解決方案更短。 – gavsiu 2013-03-07 05:48:21

+0

@gavsiu好吧,你的更好。 – 2013-08-12 07:02:05

0

這應該工作

function getElementsByClassName(className) { 
if (document.getElementsByClassName) { 
    return document.getElementsByClassName(className); } 
else { return document.querySelectorAll('.' + className); } } 

window.onload = function() { 
    if (getElementsByClassName('prettyprint').length) { 
     /* element exists */ 
    } else { /* element not exists */ } 
} 

[編輯]哎呀,你要的功能在所有腦幹,我的壞:)

0

你不需要再撥打prettyPrint

https://code.google.com/p/google-code-prettify/wiki/GettingStarted

自動裝載機

您可以通過一個URL

<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script> 

加載JavaScript和CSS美化將加載整個系統並安排prettifier上運行頁面加載。您可以指定各種附加選項(作爲CGI參數)來配置跑步者。

...

+2

加載run_prettify.js的自託管版本時,它會從Google代碼調用css文件,而不是從我自己的服務器調用。我不想依賴備用服務器,除非我可以使其與本地備份一起工作。 – gavsiu 2013-03-07 06:42:12