2017-06-13 38 views
5

我試圖在我的aspx頁面中實現新的Facebook複選框插件,但我無法讓它顯示在屏幕上。此錯誤發生在客戶端,但Frame被隱藏。Facebook信使複選框插件不呈現

錯誤:

拒絕顯示「https://www.facebook.com/v2.9/plugins/messenger_checkbox.php?allow_login=true&app_id= ******* ......」在一個框架,因爲祖先違反了以下內容安全政策指令:「幀祖先https://www.facebook.com

是我迄今所做的:也

<script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
       appId: '---MSGAPPID---', 
       xfbml: true, 
       version: 'v2.9' 
      }); 

     }; 

     (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 = "//connect.facebook.net/en_US/sdk.js"; 
      fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk') 
     ); 
    </script> 

<div class="fb-messenger-checkbox" 
     origin="---Orgin url ------" 
     page_id="--Pagelivefacebookid--" 
     messenger_app_id="--Mssgappid--" 
     user_ref="randomnumber" 
     prechecked="true" 
     allow_login="true" 
     size="large"> 
    </div> 

,我也列入白名單的域名,但遺憾的是沒能看到我的網頁上。建議爲擺脫這種錯誤的

https://developers.facebook.com/docs/messenger-platform/messenger-profile/domain-whitelisting 
+0

我也有CSP問題。但它是因爲我沒有白名單我的域名。 –

回答

1

錯誤的最佳答案我固定在得到這個工作:

  1. 確保頁面的應用程序設置下認購,根據「信使設置」

  2. 確保「origin」是您嘗試呈現此頁面的頁面的URL,而不是粉絲頁面的URL。我覺得有點笨,但我確實犯了這個錯誤。

  3. 將您的網域列入白名單,以確保您不覆蓋它。並獲得當前白名單域名列表,以確保它拼寫正確,並且沒有缺少「www」。

+0

它爲我工作,我的錯誤是缺少'www'的第三點。 謝謝! –