2012-04-12 13 views
0

WebアプリケーションをPHP/MySQLバックエンドからGrailsフレームワークに移行するプロセスを進めています。しかし、このアプリには、再利用を最小限に抑えて使いたいと思うレガシーなJavaScriptコードが書かれています。現在は動作していませんが、なぜその理由がわかりません。GrailsアプリケーションとJavascript関数の統合

友人はPHPで記述するとき、私はちょうどすなわち

images[0] = ["../images/file.jpg", "", ""] 
、リンクおよびターゲットの相対パスと二重引用符を使用

var images[3]; 
images[0] = ['path to image', 'link to somewhere', 'target']; 

として初期化配列を必要とフェードアウトスライドショーのスクリプトを書きました

Grailsに移動すると、すべてのページでスライドショーを表示したいので、main.gspに挿入するようにしたいと思います。

私は、元のスクリプトが働いていた方法は、画像アレイは、本体コード内の関数呼び出しを経由して渡された、その後、スクリプトでinitalizedあった

<g:javascript src="fade_in.js" /> 

として頭の中にjavascriptのリンクを宣言しました。その可能性は、JSファイルにGrailsのcreateLinkTo関数呼び出しを使用する場合、私は知らないので、私は放火犯によると、配列を初期化し、

<div id="slideshow"> 
    <script type="text/javascript"> 
     var images[3]; 
     images[0] = ["<g:createLinkTo dir='images' file='nsf.jpg' />", "", ""] 
     images[1] = ["<g:createLinkTo dir='images' file='east.jpg'/>", "", ""] 
     images[2] = ["<g:createLinkTo dir='images' file='usm_horz.png' />", "", ""] 
     new fadeshow(fadeimages,200,118,0,8000,1,"R");       
    </script> 
</div> 

を持つ関数を呼び出し、ファイルへのパスが正しいのですが、指定されたdiv位置には表示されません。画像がどこにあるのか、それが空であるべきかを見ることができます。

この機能をGrailsアプリケーションと統合するためには、何をする必要がありますか?

+0

あなたの配列が "images"という名前であるので、fadeeshowを渡すfadeimagesはタイプミスですか? –

+0

@ Steve H.それはタイプミスです – Jason

答えて

1

jspファイルをgspとしてマップしていない限り、.jsファイルでGSPタグを使用することはできません。 イメージ配列を宣言するfade_in.gspなどのgspファイルを作成できます。

例: - fade_in.gsp

<script> 
    //you initialize your javascript array here - you can use all gsp tags. 
</script> 

そして、画像の配列を必要とする他のページからこのGSPファイルが含まれています。

関連する問題