如何在“post action”Facebook JavaScript函数中插入当前URL

时间:2012-08-29 14:22:56

标签: function facebook-javascript-sdk

我可以将以下操作发布到Facebook。我现在想做的是自动将当前页面URL插入MYURL。然后我可以将此代码放在外部文件中,而不必手动插入URL并将其放在每个页面上。我是JavaScript的新手(我花了很长时间一起使用下面的代码)。我已经搜索过这个死亡,无法找到办法做到这一点。我会非常感谢任何帮助。

    <script type="text/javascript">

function postRead()
    {

FB.api('/me/namespace:action&object=http://MYURL','post',  function(response) {
            if (!response || response.error) {
        FB.login(function(response) {
   if (response.authResponse) {
     console.log('Welcome!  Fetching your information.... ');
     FB.api('/me', function(response) {
       console.log('Good to see you, ' + response.name + '.');
     });

FB.api('/me/namespace:action&object=http://MYURL','post',  function(response) {
            if (!response || response.error) {
                alert('Error occured');
              } else {
                 document.getElementById("postlink").innerHTML="Posted!";

              }
        });

   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 });
              } else {
                 document.getElementById("postlink").innerHTML="Posted!";

              }
        });
    }   


</script>

1 个答案:

答案 0 :(得分:0)

由于这篇文章,我解决了这个问题 - &gt; strip characters from url on javascript 'onclick'-command。不幸的是我不能投票,因为我没有声誉,这是一种耻辱。

答案代码是双星,这意味着大胆抱歉。

function postRead()
    {
FB.api('/me/namespace:action&object='**+encodeURIComponent(location.href)**,'post', function(response) {
            if (!response || response.error) {
        FB.login(function(response) {
   if (response.authResponse) {
     console.log('Welcome!  Fetching your information.... ');
     FB.api('/me', function(response) {
       console.log('Good to see you, ' + response.name + '.');
     });

FB.api('/me/namespace:action&object='+encodeURIComponent(location.href),'post', function(response) {
            if (!response || response.error) {
                alert('Error occured');
              } else {
                 document.getElementById("postlink").innerHTML="Posted!";

              }
        });

   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 });
              } else {
                 document.getElementById("postlink").innerHTML="Posted!";

              }
        });
    }