私はアプリケーションIDとバージョンを管理するためにプロパティファイルを使用しています。ここFacebook javascript SDKプロパティファイルからjspへのバージョンを共有できません[webapp]
は、プロパティファイルである:
#Facebook APP ID & Version
#My Local
facebookShareAppId = xxxxxxxxxxx
#UAT
#facebookShareAppId = xxxxxxxxxxx
#QA
#facebookShareAppId = xxxxxxxxxxx
facebookShareVersion = v2.7
============================
I私たちのユーティリティを使用して、コントローラからのプロパティの値を取得しています、私のコントローラメソッドはこれを持っている:
String facebookAppId = PropertyFileReader.getProperty(PropertyFileConstants.PROP_SOCIALNETWORK, "facebookShareAppId");
String facebookShareVersion = PropertyFileReader.getProperty(PropertyFileConstants.PROP_SOCIALNETWORK, "facebookShareVersion");
page.addObject("facebookAppId", facebookAppId);
page.addObject("facebookShareVersion", facebookShareVersion);
return page;
======================= =====
My JSP then get sの値を、私はそれをログに記録しようとすると、それは$ {facebookAppId}と$ {} facebookShareVersion
<input id="facebookAppId" type="hidden" value = "${facebookAppId}"/>
<input id="facebookShareVersion" type="hidden" value = "${facebookShareVersion}"/>
を使用してチェックするとき、それは私の現在のfacebookAppIdの値、およびfacebookShareVersionを表示します。私はこれを入力すると、それは私を与える
<script>
window.fbAsyncInit = function() {
FB.init({
appId : ${facebookAppId},
xfbml : true,
version : ${facebookShareVersion}
});
};
</script>
=====================(現在のバージョンは、 "V2.7" です)エラー:「キャッチされていないエラー:無効なバージョンが指定されました」が、静的な文字列「v2.7」にバージョンを変更すると機能します。 これを修正する方法については何ですか?
私は、この(私は実際にそれが何をするか分からない)もあります:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<!-- Your share button code -->
<div class="fb-share-button" data-href="http://www.google.com/" data-layout="button" data-size="large" data-mobile-iframe="true"></div>
編集:私はSDKの第2の埋め込みを削除
から取得することができます今
:
Javascriptを::
JSP最終的なコードは次のようになりますクライアントは次のように見える? – CBroe
私はこんなに新しいことを申し訳なく思っています。それはどういう意味ですか? @CBroe – EdSniper
あなたのブラウザが受け取る実際のHTMLコードを見て、プレースホルダが実際の変数の内容に置き換えられていることを確認する必要があります。 // SDKを2回埋め込んではいけません。問題を尋ねています。もう1つを削除します。 – CBroe