2010-08-16 60 views
1

我創建這個簡單的腳本,以檢查是否jQuery是加載ColdFusion的檢查

<cfoutput> 
<cfif GetPageContext().getCFOutput().getBuffer().findStringNoCase("jquery.js") eq -1> 
    <script type="text/javascript" src="jquery.js"></script> 
</cfif> 

<script> 
    $(document).ready(function() { 
     $("##theValue").val("the replacement"); 
    }); 
</script> 

<input type="Text" name="theValue" id="theValue" value="the value"> 
</cfoutput> 

整個頁面由cfoutput

有沒有更好的解決辦法包圍?

+1

你想完成什麼?你沒有檢查是否加載了jQuery。您正在檢查緩衝區中任何位置是否存在字符串「jquery.js」。在服務器上。在這個頁面之前 - 在你的控制之下 - 被傳送到瀏覽器。這沒有意義。 – 2010-08-16 03:41:53

+0

@Ken:是的,我知道,我很有趣這個答案http://stackoverflow.com/questions/1331982/check-if-jquery-is-loaded-in-php/1333085#1333085檢查何時輸出仍然在緩衝區 – tsurahman 2010-08-16 03:46:59

+0

我不認爲任何你嘗試這樣做都是可靠的,因爲許多原因 - 其中許多是在你關聯的問題的其他答案中概述的。事實上,被接受的答案是檢查「type of jQuery」的客戶端解決方案。這是確定是否加載jQuery的唯一方法。另外,將整個頁面封裝在'cfoutput'中是痛苦的。每個## cssID或顏色(## ffffff)必須雙擊。哎喲。我會努力尋找更好的解決方案。 – 2010-08-16 04:00:34

回答

1

Eapen的評論是最佳答案。 「我同意Ken Redler - 只是使用這種方法 - coldfusioning.com/index.cfm/2010/7/9/... ie if(typeof jQuery ==='undefined')document.write(」「) ;「 - eapen

+0

哪一個是savest,使用document.write或添加爲子元素? – tsurahman 2010-08-16 13:11:32

+0

這是我認爲最好的方式:http://www.coldfusioning.com/index.cfm/2010/7/9/Load-jQuery-From-Google-Without-Risk-of-Breaking-Your-Site – 2010-08-17 01:43:11