簡體   English   中英

FB.ui未定義

[英]FB.ui is not Defined

使用BugSnag,我可以看到我們網站上的某些用戶遇到了此錯誤:

FB.ui is not a function

當我訪問該站點並轉到出現此錯誤的頁面時,我沒有任何問題。

這是我們分享給fb的腳本:

<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 = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12&appId=1365705806909063&autoLogAppEvents=1';
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
</script>

<div class="x-custom-col" id="share-fb-btn">
    <a class="x-fb x-btn" data-social-type="fb-share" data-eventlabel="inlineshare">
        <i class="ico-facebook"></i>
        <span>Share to Facebook!</span>
    </a>
</div>

<script>
    document.getElementById('share-fb-btn').onclick = function() {
        FB.ui({
            method: 'share_open_graph',
            action_type: 'og.shares',
            action_properties: JSON.stringify({
                object: {
                    'og:url':"http://www.example.com/",
                    'og:title': "Here is some info to share!".",
                    'og:description': "Decribe it!",
                    'og:image': "https://www.example.com/image"
                }
            })
        },
        function (response) {
            // Action after response
        });
    }
</script>

看來這僅發生在我們的移動版式上。 有什么建議么?

如果有人使用工具阻止外部腳本進行社交媒體和分析,則可能會發生這種情況。 它阻止加載腳本,因此不會初始化FB,並且FB.ui將不存在。

您可以通過檢查FB是否存在或在JavaScript SDK的window.fbAsyncInit回調中添加單擊偵聽器來解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM