簡體   English   中英

重新加載 Facebook 評論會導致跨源錯誤

[英]Reloading facebook comments causes cross origin error

我已經使用 Facebook 在此處提供的代碼在我的應用程序上實現了 Facebook 評論: https : //developers.facebook.com/docs/plugins/comments/

評論加載正確,生活很好。 但是,我有一個用於管理用戶的設置面板,它公開了修改的能力:

  • 帖子數
  • 主題
  • 訂購方式

當用戶更改這些時,我使用

FB.XFBML.parse(this.fbEl);

刷新評論。 這有效,但是它無法正確呈現並給出錯誤:

未捕獲的安全錯誤:阻止了來源為“ https://www.facebook.com ”的框架訪問來源為“ http://mysite.dev ”的框架。 請求訪問的幀具有“https”協議,被訪問的幀具有“http”協議。 協議必須匹配。

我已經搜索了互聯網無濟於事。 有誰知道如何解決這個問題?

SDK代碼如下:

<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/sdk.js#xfbml=1&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-comments" id="fb-comments" data-href="{{data.url}}" data-width="100%" data-numposts="{{data.numPosts}}" data-order-by="{{data.orderBy}}" data-colorscheme="{{data.colorScheme}}"></div>

可悲的是,沒有正確的方法來解決此問題。 Facebook必須在其JS框架中解決此問題。 好消息是我已經找到了一個快速修復程序,即使發生該錯誤,該修復程序也會顯示您的評論窗口。 我已經測試了代碼,即使在發生錯誤之后,Facebook也允許我發表評論。

此修復程序使用jQuery,還使用setTimeout在刪除類之前等待(並猜測)要調用的錯誤。 我敢肯定,有更好的方法來實現此修復程序,但是到目前為止,這對我來說是有效的。 例如,您可以將超時時間從1秒更改為2秒,以便在發生錯誤后更好地執行腳本。

 setTimeout(function(){$('.fb-comments').removeClass('fb_hide_iframes');},1000);

我丈夫被診斷出患有早期阿爾茨海默氏症和早期亨廷頓舞蹈症。 他有時知道發生了什么,但他拒絕洗澡或做任何醫生告訴他的事情。 他幾乎無法四處走動,因為他整天都坐在電視機前。 他拒絕去散步或去老年中心,也拒絕洗澡。 當他又臟又臭時,我們不能去任何地方,我感到很沮喪。 我不知道該怎么辦,我無法在身體上壓倒他並使他做事,當我問他時,他告訴我我不是他的老板。 在尋找可靠的治療方法方面幾乎沒有取得任何進展。 他的初級保健提供者向我介紹了 Kycu​​yu Health Clinic 及其令人驚嘆的草葯療法。 治療是一個奇跡。 疾病已完全得到控制。 沒有任何妄想、迷失方向、健忘、編造事情、幻覺、肌肉無力、言語混亂、食欲不振或在晚上時間混亂的情況。 訪問 kycuyuhealthclinic。 com 它太棒了!

暫無
暫無

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

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