/ / Asp.net 4.0 में, फेसबुक, Google +1 बटन कोड लोड करने में देरी कैसे हो सकती है? - एएसपीनेट

Asp.net 4.0 में, फेसबुक, Google +1 बटन कोड लोड करने में देरी कैसे हो सकती है? - एएसपीनेट

मैं MasterPage.master को FaceBook Likebutton, Google +1 बटन और ट्विटर बटन जोड़ता हूं और इन्हें देता हूं मेरे सभी वेबपृष्ठों पर प्रदर्शित करने के लिए बटन।

मेरा आईपीएस ब्लॉक फेसबुक, Google और ट्विटर, इसलिए default.aspx प्रदर्शित करने में बहुत धीमा है क्योंकि वेबपृष्ठ को फेसबुक, Google +1 बटन कोड को लोड करने के लिए इंतजार करना है।

क्या यह फेसबुक, Google +1 बटन कोड लोड करने में देरी करने और सामग्री डिफ़ॉल्ट.aspx पहले प्रदर्शित करने का एक तरीका है?

आप कोड डाउनलोड कर सकते हैं http://dl.dropbox.com/u/209352/WebSite2.zip

==============================Default.aspx====================
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>



=========================MasterPage.master===================================

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">

<div class="fb-like" data-href="http://www.myweb.com" data-send="false" data-layout="button_count"
data-width="120" data-show-faces="false" data-font="verdana">
</div>

<div>
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.supercoolbookmark.com/"
data-count="horizontal" data-via="mycwcgr">Tweet</a><script type="text/javascript"
src="//platform.twitter.com/widgets.js"></script>
</div>

<div>
<g:plusone size="medium"></g:plusone>
</div>

<div>
<p>Hello, the world!</p>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>

</div>
</form>


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


<!-- Place this render call where appropriate -->
<script type="text/javascript">
(function () {
var po = document.createElement("script"); po.type = "text/javascript"; po.async = true;
po.src = "https://apis.google.com/js/plusone.js";
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s);
})();
</script>

</body>
</html>

उत्तर:

जवाब के लिए 0 № 1

आप js.async = true जोड़ सकते हैं; फेसबुक जावास्क्रिप्ट के लिए - यह (Google+ जावास्क्रिप्ट में समान पंक्ति की तरह) कुछ के साथ मदद करेगा नए ब्राउज़र.

यदि यह काम नहीं करता है, तो स्पष्ट विकल्प पृष्ठ लोड होने के बाद तीन प्रासंगिक divs इंजेक्ट करने के लिए जावास्क्रिप्ट का उपयोग करना होगा। jQuery यह बनाता है बहुत आसान.