Facebook javascript SDK共享版本从属性文件到jsp不工作[webapp]
Facebook javascript SDK Share version from property files to jsp not working [webapp]
我正在使用属性文件来管理应用程序id和版本。
下面是属性文件:
#Facebook APP ID & Version
#My Local
facebookShareAppId = xxxxxxxxxxx
#UAT
#facebookShareAppId = xxxxxxxxxxx
#QA
#facebookShareAppId = xxxxxxxxxxx
facebookShareVersion = v2.7
============================
我从控制器中获取属性的值使用我们的实用程序,我的控制器方法有这个:
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;
============================
当我使用${facebookAppId}和${facebookShareVersion}检查它时,我的JSP然后获得值
<input id="facebookAppId" type="hidden" value = "${facebookAppId}"/>
<input id="facebookShareVersion" type="hidden" value = "${facebookShareVersion}"/>
当我尝试记录它,它显示我的当前值为facebookAppId,和facebookShareVersion。(当前版本为"v2.7")
=====================
<script>
window.fbAsyncInit = function() {
FB.init({
appId : ${facebookAppId},
xfbml : true,
version : ${facebookShareVersion}
});
};
</script>
当我输入这个时,它给了我一个错误:"未捕获的错误:指定的无效版本",但是当我将版本更改为静态字符串"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的第二个嵌入,并将其转移到我的Javascript中,调整了js。src,从JSP中的隐藏元素添加了版本和appId,然后它就工作了。最终代码如下:
Javascript:
var appId = $("#facebookAppId").val();
var version = $("#facebookShareVersion").val();
(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#xfbml=1&version="+ version + "&appId=" + appId;
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
JSP: <input id="facebookAppId" type="hidden" value = "${facebookAppId}"/>
<input id="facebookShareVersion" type="hidden" value = "${facebookShareVersion}"/>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : ${facebookAppId},
xfbml : true,
version : ${facebookShareVersion}
});
};
</script>
现在可以从属性文件中检索版本和appId:)
相关文章:
- JavaScript没有'JSP页面重定向后无法工作..任何解决方案
- window.open无法在显示pdf的jsp页面中工作
- 无法让jQuery插件timepicker在jsp页面中工作
- 使用 href=“#” JQuery 工作,但使用 href=“page.jsp” 不起作用
- JQuery Ajax 不能在带有 Struts 的 JSP 中工作
- 如何在使用弹簧框架工作时提供JSP页面的URL以打开WEB-INF文件夹中的弹出窗口
- JSP 无法与 PrintWriter 正常工作
- javascript代码在jsp中没有按预期工作
- 为什么我的Javascript不能在jsp页面中工作
- Jquery日期拾取器,即使另一个具有共享导入的JSP工作也没有响应
- 在我的jsp代码中出现了一些奇怪的东西,x++不能工作
- 为什么javascript自动提交不工作在我的jsp页面
- JSP方法在javascript方法中不能正常工作
- 使用Jquery的AJAX不能跨JSP页面工作
- javascript重定向到JSP不工作(使用Spring MVC)
- Facebook javascript SDK共享版本从属性文件到jsp不工作[webapp]
- JSP Servlet在使用IF块后不工作
- jQuery不能在JSP中工作
- 使用标签提交表单在JSP不工作
- 如何将JSP页面的一部分导出到excel工作表