如何在laravel中分享当前的网址到Facebook?

时间:2016-08-03 08:10:24

标签: php facebook laravel laravel-5

我想将我网站的当前网址分享到facebook,所以我使用了facebook的sharer.php。这是我的share.php文件,显示图标和指向sharer.php的链接

<div class="social-buttons">
    <a href="https://www.facebook.com/sharer/sharer.php?u={{ urlencode($url) }}"
       target="_blank">
       <i class="fa fa-facebook-official"></i>
    </a>
</div>

我通过代码

将URL从我的页面传递给($ url)
<?php

use App\Http\Requests;
use Illuminate\Http\Request;

?>
@include('share',['url' => 'www.google.com'])

此特定网页我通常会生成动态网址。所以我将代码更改为

@include('share',['url' => 'Request::url()'])

这样我就可以共享动态创建的URL。这里的问题是当我用www.google.com代替url时,POP UP框工作正常并打开facebook共享。但是当我使用['url' => 'Request::url()'])弹出框快速打开和关闭时,我试图看到网址,这就像错误一样。我该如何解决?这种方法有什么缺点吗?

这是脚本代码

<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<script>

    var popupSize = {
        width: 780,
        height: 550
    };

    $(document).on('click', '.social-buttons > a', function(e){

        var
            verticalPos = Math.floor(($(window).width() - popupSize.width) / 2),
            horisontalPos = Math.floor(($(window).height() - popupSize.height) / 2);

        var popup = window.open($(this).prop('href'), 'social',
            'width='+popupSize.width+',height='+popupSize.height+
            ',left='+verticalPos+',top='+horisontalPos+
            ',location=0,menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1');

        if (popup) {
            popup.focus();
            e.preventDefault();
        }

    });
</script>

1 个答案:

答案 0 :(得分:2)

当你这样做时

@include('share',['url' => 'Request::url()'])

你传递一个字符串 Request :: url()作为值,而不是URL。

将该行替换为:

@include('share',['url' => Request::url()])