2012-04-16 65 views
0

我有一個dojo的小問題。 在我的XPages應用程序中,我想用dojox.image.Gallery實現一個imageGallery。dojox.image.Gallery,undefined圖片來源

我已經設置了一切,我的代理返回了一些JSON數據,到目前爲止似乎是有效的。

它的結構是這樣的:

{項目:[ { 「拇指」: 「linktothumbnail」, 「大」: 「linktolargepic」, 「稱號」: 「whatever1」, 「鏈接「:」www.google.de「 },{...等等......

圖片的URL有效,請檢查它。

一切正常,沒有錯誤信息,除了一個。 「NetworkError:404未找到 -​​」 我Thumbnailpicker的src屬性是「未定義」

我爬在網上,沒有結果爲止。

這是我在的XPage代碼:

<xp:this.resources> 
     <xp:dojoModule name="dojox.image.Gallery"></xp:dojoModule> 
     <xp:dojoModule name="dojo.data.ItemFileReadStore"></xp:dojoModule> 
     <xp:dojoModule name="dojo.parser"></xp:dojoModule> 
    </xp:this.resources> 
    <xp:div id="Wrapper"> 
     Test 

     <div jsId="imageItemStore" dojoType="dojo.data.ItemFileReadStore" 
      url="#{javascript:return facesContext.getExternalContext().getRequestContextPath() + '/returnMemberDataJSON?OpenAgent';}"> 
     </div> 

     <div id="gallery1" dojoType="dojox.image.Gallery" imageHeight="400" imageWidth="550"> 
      <script type="dojo/connect"> 
       var itemRequest = { 
        query: {}, 
        count: 20 
       }; 
       var itemNameMap = { 
        imageThumbAttr: "label", 
        imageLargeAttr: "name" 
       }; 
       this.setDataStore(imageItemStore, itemRequest, itemNameMap); 
      </script> 
     </div> 

    </xp:div> 

似乎有效的給我。我已經通過一個主題實現了dojo樣式,因爲它似乎沒有自動完成。所有需要的圖片也被導入。

我的頁面上的結果是ThumbnailPicker應該在的地方,在代碼中沒有任何東西,但沒有顯示任何東西。在那之下,我得到了帶有按鈕的幻燈片的框,但沒有圖片。

你有什麼想法可能出了什麼問題或者出於某種原因在XPages中不起作用?

在此先感謝。

回答

0

這可能與

<script type="dojo/connect"> 

一部分。我在dojo/connect事件中遇到了一些特定於瀏覽器的問題。相反,您可以嘗試將以下CS JavaScript添加到XPage /自定義控件的onClientLoad中:

dojo.addOnLoad(function() { 
    var itemRequest = { query: {}, count: 20 }; 
    var itemNameMap = { imageThumbAttr: "label", imageLargeAttr: "name" }; 
    dijit.byId('gallery1').setDataStore(imageItemStore, itemRequest, itemNameMap); 
});