質問
私は、Grailsのを使用してWebアプリケーションを構築しています。私は道場を使用することを決定し、それがすべてのアプリケーションのページで利用できるようになるので、私はmain.gspで初めのための道場の魚眼レンズメニューを追加しました。 これは、(ホーム)index.gspページの正常に動作しますが、私は別のもの、魚眼メニューdisapearsを選択すると。私は家に戻って行く場合もございます。私は私の設定を見直し、すべてが私に[OK]を探します。私は空想何でも、単純なものを使用していません。私はそれを把握することはできませんが、何かが欠けています。
ここではわかりやすくするために簡略化され、私の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です。インデックスは、他のページに動作しない理由ですので、それはルートに相対します。
絶対URLを使用すると、問題を修正します。
他のヒント
あなたのmain.gspにそれを置くのではなく、あなたのレイアウトテンプレートページにあなたの道場の宣言や輸入を移動しようとしましたか?
所属していません StackOverflow