2013年10月25日金曜日

Winter '14でのListView直接表示(Force.com)

たまにはForce.comネタを。 

タイトルの件ですが、Webタブに直接ViewのURLを指定して、
 オブジェクトのランディングページをすっ飛ばしたい!
という要望を客先から聞いた時に isdtp=vwなどのURLパラメータを設定して
実現していた方は多いかと思います。


Winter'14から、上記方法では実現できなくなっていました。
デバッグしてみると、どうやらシームレスなリンクをするためのsrcUpメソッドが
iframe内で使えなくなっていることが直接の原因のようです。
(クリックインジェクション対策のせいかな?)

なので試行錯誤した結果、

VFページで

<apex:page action="{!URLFOR('ViewのURL')}" />

の内容でページを作成し、
VFタブを作成して設定すれば実現できました。

実はこれ、AppExchangeで配布されていたパッケージで実装されていたやり方なんですが、
目から鱗でしたね。

ええ。
その前日私はsrcUpを全てhrefリンクに変更するjavascriptを書きましたから

上記方法でも一応は動きます。
が、面倒だしレンダリング仕様変更されたら一発アウトなのでやらない方がいいです。

というわけでちょこっとしたTipsでした。ではでは。

0 件のコメント:

コメントを投稿