Я хочу использовать кнопку facebook как на своем веб-сайте. так как большинство моих посетителей из Ирана, а facebook фильтруется в Иране, если кто-то прибывает из Ирана, подобная кнопка фильтруется, и страница становится очень уродливой. то, что я думал, чтобы предотвратить это, - это использовать веб-клиент, чтобы попытаться подключиться к facebook. в случае успеха, я помещаю кнопку, как, в противном случае я не:изменение времени отклика webclient
string fb_result="failed";
WebClient webclient= new WebClient();
try{
fb_result=webclient.DownloadString("http://www.fabebook.com");
}
catch{
fb_result="failed"; //if its being filtered exception is raised
}
в моем HTML:
<%if(fb_result)!="failed"){%>
<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>
<div class="fb-like" data-href="http://www.mysite.com" data-send="true" data-width="450" data-show-faces="true"></div>
<%}%>
это работает нормально, но проблема в том, когда WebClient не может подключиться, то занимает много времени, чтобы поднять ошибку. есть ли способ сделать веб-клиент попыткой на более короткое время и, если он не сможет подключиться, быстрее повысит ошибку.
Кстати, любые другие способы проверить, возможно ли подключение к facebook или нет. так как это может быть не единственный способ проверить это.
Это не сработает, WebClient выполняется на сервере, а не на ваших клиентах, поэтому он всегда будет успешным. Вместо этого отобразите кнопку Like, используя клиентский скрипт, который сначала проверяет Facebook. – Dai
но как я могу проверить? ajax не будет работать, если я загружу его в iframe, я не смогу проверить его документ. Есть ли у вас какие-либо предложения? –
Метод AJAX будет работать: он сообщит об ошибке. Если это удастся, вы добавите кнопку Like. Вам не нужно действительно запрашивать DOM Facebook (если фильтр Ирана не отправит фиктивный ответ, я не знаю, как это работает). – Dai