簡體   English   中英

fb:就像被要求登錄IE一樣不起作用

[英]fb:like when asked to sign in IE doesnt work

我正在將Facebook Like Button添加到我的網站。

我在aspx頁面中添加了以下內容:

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
      FB.init({
          appId: 'ID',
          status: true,
          cookie: true,
          xfbml: true  // parse XFBML
      });
  };

  (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/all.js#xfbml=1";
      fjs.parentNode.insertBefore(js, fjs);
  } (document, 'script', 'facebook-jssdk'));</script>
</script>

這到html標簽:

xmlns:fb="http://www.facebook.com/2008/fbml"   xmlns:og="http://ogp.me/ns#"  prefix="og: http://ogp.me/ns#" 

這是我的樣子:

<fb:like  send="false" layout="standard" width="350" style="height:22px;" show_faces="false" action="like" colorscheme="light"></fb:like>

我確實為OpenGraph添加了meta標簽。

在所有瀏覽器上對其進行測試時,它都可以正常工作。 如果未登錄Facebook,則需要登錄后才能顯示該項目,然后會出現一個彈出窗口,在您輸入正確的用戶名和密碼后,該窗口將關閉。

但是在IE(9)中會出現一個窗口,在我輸入用戶名和密碼后,它會重定向到此鏈接: http : //www.facebook.com/connect/connect_connect_to_external_page_reload.html

這是空白頁,之后什么也沒有發生,它沒有關閉,我不能喜歡任何項目。

即使我已經在IE上單擊之前登錄了Facebook,也仍然可以輸入用戶名和密碼。

我想念什么嗎?

在IE中讓一切對我有用。 最后,這就是我所做的。

  1. 在頁面的開頭,我添加了以下內容

      <html lang="en" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://ogp.me/ns/fb#"> 
  2. 我使用XFBML格式添加了“喜歡”按鈕和“發送”按鈕(由於某些原因,我無法使HTML 5版本正常工作)注意:我還必須分別添加它們。 由於某些原因,當我不使用FB:Send並使用FB:like send =“ true”時,它在IE 10中不起作用。如果只希望不添加FB:Send行。

      <fb:like href="http://www.domain.com" send="false" layout="button_count" width="60" show_faces="false" action="like" font=""></fb:like> <fb:send href="http://www.domain.com"></fb:send> 
  3. 我將腳本添加到頁面中

     <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 = "//connect.facebook.net/en_US/all.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> 
  4. 我添加了channelUrl以確保它在IE 8和9中都能正常工作

     <script> window.fbAsyncInit = function () { //fbAsyncInit prevents call of FB.getLoginStatus before the SDK is loaded and/or initialized FB.init({ appId: "You app ID here bunch of digits", status: true, // check login status cookie: true, // enable cookies to allow server to access session, xfbml: true, // enable XFBML and social plugins oauth: true, // enable OAuth 2.0 channelUrl: 'http://channel.html' //custom channel }); }; 

  5. 用以下內容創建Channel.html文件

     <script src="//connect.facebook.net/en_US/all.js"></script> 

我面臨着同樣的問題。 我發現禁用IE9中的保護模式設置可以解決此問題。 您可以在“ Internet選項”->“安全性”->“ Internet”->“啟用保護模式”復選框中找到它。 讓我知道是否有幫助。

暫無
暫無

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

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