سؤال

أنا بناء تطبيق ويب باستخدام الشجاعة. قررت استخدام Dojo وأضفت قائمة Fisheye Dojo عن البداية في main.gsp، لذلك ستكون متاحة على جميع صفحات التطبيق. إنه يعمل بشكل جيد لصفحة index.gsp (الصفحة الرئيسية)، ولكن بمجرد اختيار واحد آخر، يخطنان قائمة Fisheye. إذا عدت إلى المنزل، فهذا هناك. لقد قمت بمراجعة إعداداتي وكل شيء يبدو جيدا بالنسبة لي. أنا لا أستخدم أي شيء يتوهم، فقط أشياء بسيطة. أنا أفتقد شيئا ولكن غير قادر على معرفة ذلك.

هنا هو الرمز في My Main.GSP المبسطة للوضوح:

<html>
<head>

    ...

    <g:layoutHead />

    <!-- use dojo library ... this has not effect at all -->
    <g:javascript library="dojotk"/>    

    <!-- Load Dojo -->
    <script type="text/javascript" src="js/dojotk/dojo/dojo.js"
    djConfig="parseOnLoad:true, isDebug:false"></script>

    <!-- need fisheye -->
    <g:javascript type="text/javascript">
        dojo.require("dojox.widget.FisheyeList");
    </g:javascript>

    <!-- required css for dojo fisheye -->
    <style type="text/css">@import "js/dojotk/dojox/widget/FisheyeList/FisheyeList.css";</style>    

</head>
<body >
       ...
     <!-- fisheye bar -->
     <div id="fisheyebar"><g:render template="/common/fisheyebar"/></div>

    <g:layoutBody /> 
</body>

وهنا هو _fisheyebar.gsp

<g:javascript>
  function load_app(target){
   window.location.href=target
 }
</g:javascript>
    <center >
        <div class="outerbar">
            <div dojoType="dojox.widget.FisheyeList"
                    itemWidth="50" itemHeight="50"
                    itemMaxWidth="200" itemMaxHeight="200"
                    orientation="horizontal"
                    effectUnits="2"
                    itemPadding="10"
                    attachEdge="top"
                    labelEdge="bottom"

                    >
    <div dojoType="dojox.widget.FisheyeListItem" 
            onClick= "load_app('${createLinkTo(dir:'/something')}');"
             iconsrc="images/icon_something.png" caption="Web Browser">
    </div>
       .....
    </div>
</div> <!-- outbar -->
</center>

جميع الصفحات بما في ذلك index.gsp لها ما يلي:

   <head>
<title>some titel</title>
<meta name="layout" content="main" />
</head>

يرجى ألا يكون استخدام القالب (_fisheyebar) هو السبب، أضع الرمز مباشرة في الرئيسية وكان له نفس التأثير. إذن ما الذي أفتقده؟

هل كانت مفيدة؟

المحلول

إنه في عنوان URL النسبي لموقع Dojo. إنه أمر بالنسبة للجذر، ولهذا السبب يعمل المؤشر وليس الصفحات الأخرى.

باستخدام عناوين URL المطلقة يعمل على إصلاح المشكلة.

نصائح أخرى

هل حاولت نقل إعلان Dojo واستيرادها إلى صفحة قالب التخطيط بدلا من وضعه في Main.gsp؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top