0

我对道场有一点小问题。在我的 XPages 应用程序中,我想用 dojox.image.Gallery 实现一个 imageGallery。

我已经设置了所有内容,并且我的代理返回了一些 JSON 数据,目前看来是有效的。

它的结构是这样的:

{ items: [ { "thumb":"linktothumbnail", "large":"linktolargepic", "title":"whatever1", "link":"www.google.de" },{... 等等。 ..

图片的网址是有效的,检查它。

一切正常,没有错误消息,除了一个。“NetworkError: 404 Not Found - http://www.myserver.de/path/to/database.nsf/undefined ” 我的 Thumbnailpicker 的 src 属性是“undefined”

我已经爬网了,到目前为止还没有结果。

这是我在 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 中根本不起作用?

提前致谢。

4

1 回答 1

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);
});
于 2012-04-20T07:44:38.833 回答