我正在使用混合移动应用程序(应该在android和ios中工作)。我需要从我的应用程序在Facebook墙上发布。请注意它的hybrib应用程序,所以我不应该使用任何java或c代码。
我尝试了以下方法,它在模拟器中工作,但在实际设备中没有。请帮帮我。
<script>
window.fbAsyncInit = function() {
FB.init({
appId : ' my appID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
<script type="text/javascript">
$(document).ready(function(){
$('#share_button').live('click', function(e){
e.preventDefault();
FB.ui(
{
method: 'feed',
name: 'HyperArts Blog',
link: 'http://hyperarts.com/blog',
picture: 'http://www.hyperarts.com/_img/TabPress-LOGO-Home.png',
caption: 'I love HyperArts tutorials',
description: 'The HyperArts Blog provides tutorials for all things Facebook',
message: ''
});
});
});
</script>
由于
答案 0 :(得分:1)
我碰到了这个。您的: document.location.protocol 假设拉入FB SDK实际上是“file:///”,那就是什么被送入FB FB库的url。 手动指定http://或https:// 这对我来说在IOS上的safari webView上都没有用,所以我不得不使用AJAX手动点击端点。