【问题标题】:how to share the current url to facebook in laravel?如何在 laravel 中将当前 url 分享到 facebook?
【发布时间】:2016-09-02 15:10:34
【问题描述】:

我想将我网站的当前 URL 分享到 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'])

我共享 URL 的这个特定网页通常会生成动态 URL。所以我把代码改成

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

这样我就可以共享动态创建的 URL。这里的问题是当我将www.google.com 代替 url 时,弹出框工作正常并打开 facebook 共享。但是当我使用['url' =&gt; 'Request::url()']) 时,弹出框会快速打开和关闭,我试图查看 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>

【问题讨论】:

  • 能否提供sharer.php文件和控制器

标签: php facebook laravel laravel-5


【解决方案1】:

当你这样做时

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

您传递的是字符串 Request::url() 作为值,而不是 URL。

将该行替换为:

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

【讨论】:

  • 是的,它现在可以工作了,但是面对另一个问题,当我通过 google.com 时,它就像一个魅力,但是当我通过当前 url (localhost) 时,它说出了点问题。我正在本地主机上进行测试。是本地主机导致问题吗?
  • 检查生成的HTML,看看URL是否正确。我在 localhost 上遇到了一些问题,因为 URL 中缺少协议(http/https)。
  • Facebook 将向您共享的 URL 发出请求,以获取相关的 Open Graph 元数据。当然,这在 localhost 上不起作用。它需要从外部可以到达。
  • 确实如此,所以只需确保生成的 URL 在 HTML 中是正确的,然后在 Facebook 可以访问的地方对其进行测试
猜你喜欢
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
  • 2020-05-06
  • 1970-01-01
  • 2017-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多