2012-02-27 24 views
0

我想在force.com網站中實現一個jquery gallery插件。我上傳了一個包含所有必需文件的zip文件作爲靜態資源。visualforce + jquery

我引用樣式表和javascript如下:

<apex:includeScript value="{!URLFOR($Resource.jqueryadgallery, 'jquerygallery/jquery.ad-gallery.js')}" /> 
<apex:stylesheet value="{!URLFOR($Resource.jqueryadgallery, 'jquerygallery/jquery.ad-gallery.css')}"/> 

這工作,我得到了有關CSS的插件(檢查出來這裏 - http://coffeescripter.com/code/ad-gallery/)。但唯一可行的部分是圖像縮略圖正在CSS文件中定義的圖像邊界顯示。你可以看到我在這裏做了什麼 - http://fusedev-developer-edition.ap1.force.com/ImageDemo。我已經遵循了文檔,但在我看來,JavaScript不起作用。

讚賞任何幫助, 乾杯

回答

5

這裏有一些事情要檢查:

  • Salesforce的使用prototype.js中,其中如jQuery,使用全局變量$。在腳本的頂部最好做一些類似$j = jQuery.noConflict();的操作,以防止jQuery破壞原型。您還需要更改所有JavaScript,以便使用$j而不是$用於jQuery。

  • 它看起來像你的jQuery插件腳本正在jQuery本身之前加載。確保你的第一個apex:includeScript加載jQuery。

  • 我的瀏覽器報告語法錯誤在您的VF頁:enter image description here

+0

歡呼傑里米,但我已經有jquery.noConflict()。這個錯誤是由於我仍在玩弄它,現在它已經修復了。我已經將插件腳本移動到插件腳本的上方,但仍然沒有運氣。任何其他想法? – Jim 2012-02-27 01:55:26

+0

你的JS有多個非常基本的語法錯誤。從匹配你的括號開始。 – jkraybill 2012-02-27 02:53:45

+0

歡呼傑瑞米事實證明,我錯過了一些JavaScript,並將其作爲$。再次感謝。 – Jim 2012-02-27 19:52:20

0

<apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery/external/jquery/jquery.js')}"/> 
<apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery/jquery-ui.min.js')}"/> 

<script> 
    j$ = jQuery.noConflict(); 
    if(j$){ 
     alert('Success'); 
    }else{ 
     alert('Failure'); 
    } 
</script> 

+0

你能解釋你的例子嗎? – mhatch 2017-01-05 15:47:20

+0

我不認爲你可以通過提示用戶關於多個jQuery的存在來解決這個問題。 – 2017-01-05 16:00:22

+0

首先,您必須將您的jquery zip文件上傳到靜態資源。如果你遵循這個方法,你需要指向2個文件,它們是jquery.js和jquery-ui.min.js。我們沒有使用衝突,因爲在視覺力和jQuery中對$有不同的含義。這裏的警報消息說如果你的代碼工作正常,那麼它將顯示成功,如果沒有,它將顯示失敗。爲什麼我們使用這個成功和失敗的消息?在salesforce中,沒有其他方法可以在視覺強制頁面中驗證javascript。 – prakash 2017-02-05 17:08:50