You need to sign in to do that
Don't have an account?
daisy1153
apexでデバイス判定
お世話になります。
visualforceで、データをテーブルで表示する際、
デバイスによって、表示する件数を変更したいと考えております。
画面が描画されたときに、javascriptで取得したデバイス情報を、
コントローラーに渡そうとしましたが、渡すことができませんでした。
これはjavascriptの処理が最後なので、コントローラーに渡らないようです。
どなたか、ご存知でしたら、ご教示いただけますでしょうか。
visualforceで、データをテーブルで表示する際、
デバイスによって、表示する件数を変更したいと考えております。
画面が描画されたときに、javascriptで取得したデバイス情報を、
コントローラーに渡そうとしましたが、渡すことができませんでした。
これはjavascriptの処理が最後なので、コントローラーに渡らないようです。
どなたか、ご存知でしたら、ご教示いただけますでしょうか。
All Answers
もしくは、この場合はRemoteActionをメイン作り込んでいく方がいいかもしれません。
ご回答ありがとうございます。
actionFunction、RemoteActionともにですが、画面上で何かしらのアクション(ボタンをクリック等)で、
コントローラーに渡るかと存じます。こちらの認識が間違っておりましたら、ご指摘願えます。
一番最初に描画される(visualforceのaction)時に、値が取得できればと思っておりますが、
こちらは可能でしょうか
ただ、コンストラクタやpageのactionの処理とは別のタイミングで実行されることになります。
window.on('load')~のような形で、anctionFunctionを呼び、
actionFunctionに指定した、コントローラーのメソッドを呼ぶ。
その際、javascriptで取得した、デバイス情報をパラメーターで渡す。
このようなイメージであっておりますでしょうか。
サンプルを作成したのですが、画面描画のループとなってしまいました。
Controller
visualforce
上記のように、「on('load', function~)」内で、「actionFunction」を呼んでいるのですが、
「actoinFunction」のリレンダーによりループになっているようです。
最終的には、コントローラーの変数「DeviceInfo」に「var ua」の情報を渡したいと思っております。
度々の質問で申し訳ないのですが、アドバイス頂けないでしょうか。
よろしくお願い申し上げます。
ありがとうございます。
ループすることなく描画されるようになりました。
大変助かりました。
誠に、ありがとうございました。