Я только что добавил плагин Facebook Like / Send на мою страницу. Я QA'd плагин на моей машине разработчика, и все работало отлично. Когда я опубликовал сайт на своем живом веб-сайте (http://www.raveradar.com), у кнопки «Отправить» возникли проблемы.
Проблема возникает только при нажатии кнопки «Отправить», когда вы нажимаете «Отправить», открывается новая форма, но, как ни странно, кнопка «Отмена» в этой форме больше не работает. То есть при нажатии кнопки «Отмена» всплывающая форма не исчезает. Нет ошибок, ничего. Все, что я могу понять, это то, что это какая-то проблема CSS, но меня смущает то, что это работает на localhost во всех браузерах. Если бы это была проблема CSS, разве я не испытал это?
Любая помощь очень ценится.
HTML-тег:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
Body:
<body onload="LoadRaveRadarMap('<%=ConfigurationManager.AppSettings["bingMapsKey"].ToString() %>');">
<!-- Setup Facebook JavaScript SDK -->
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function () {
FB.init({
appId: '<%=ConfigurationManager.AppSettings["raveRadarAppID"].ToString() %>',
channelUrl: '//ConfigurationManager.AppSettings["raveRadarDomain"].ToString() %>/scripts/channel.html',
status: true,
cookie: true,
xfbml: true
});
};
// Load the SDK Asynchronously
(function (d) {
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
} (document));
</script>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:servicereference Path="WcfRaveRadar.svc" />
</Services>
</asp:ScriptManager>
<div id="container">
<!-- Rave Radar Map - The source of all awesomeness! -->
<div id="raveMapContainer" class="raveMap" />
<!-- Facebook 'Like' button -->
<div id="fbLike">
<fb:like ref="top_left" href="<%=ConfigurationManager.AppSettings["raveRadarDomain"].ToString() %>" send="true" layout="button_count" width="129" show_faces="true" font="arial"></fb:like>
</div>
</div>
</form>
Страница CSS (raveRadar.css):
.raveMap {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
}
#fbLike {
position: absolute;
top: 35px;
z-index: 1002;
width: 129px;
* *} Тысяча двадцать-один
EDIT:
После проверки консоли Chrome я вижу, что при нажатии кнопки «Отмена» выдается ошибка IS :
Unsafe JavaScript attempt to access frame with URL http://www.facebook.com/dialog/oauth?api_key=288300704552515&app_id=288300704552515&channel_url=https%3A%2F%2Fs-static.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%23cb%3Df148fbcbb4%26origin%3Dhttp%253A%252F%252Flocalhost%253A50280%252Ff14432130c%26relation%3Dparent.parent%26transport%3Dpostmessage&client_id=288300704552515&display=none&domain=localhost&locale=en_US&origin=1&redirect_uri=https%3A%2F%2Fs-static.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%23cb%3Df1d2b95ec4%26origin%3Dhttp%253A%252F%252Flocalhost%253A50280%252Ff14432130c%26relation%3Dparent%26transport%3Dpostmessage%26frame%3Df3797f333c&response_type=token%2Csigned_request%2Ccode&sdk=joey from frame with URL http://www.facebook.com/plugins/send_button_form_shell.php?api_key=288300704552515&channel=https%3A%2F%2Fs-static.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%23cb%3Df8557776c%26origin%3Dhttp%253A%252F%252Flocalhost%253A50280%252Ff14432130c%26relation%3Dparent.parent%26transport%3Dpostmessage&controllerID=ut2r33_4&error=&extended_social_context=false&locale=en_US&nodeRef=top_left&nodeURL=http%3A%2F%2Fwww.raveradar.com%2F&sdk=joey. Domains, protocols and ports must match.
Я получаю эту ошибку как на своем компьютере разработчика, так и на моем живом веб-сайте. Я просто не понимаю, почему это работает на моем локальном хосте, но не на моем сервере. Есть ли обходные пути?