Привет, может кто-нибудь помочь мне. Я не могу избавиться от этого сообщения об ошибке в Chrome 9.0 beta, Chrome 8.0 или Firefox 3.6.13:
"Небезопасная попытка JavaScript получить доступ к фрейму с URL 'http://apps.facebook.com/myapp/' из фрейма с URL' http://myapp.dyndns -office.com / '. Домены, протоколы и порты должны совпадать."
Я использую FacebookSDK версии 4.1.1 CSMvcFacebookApp в папке Samples.
У меня есть этот скрипт на моей странице Site.Master, расположенной в Views / Shared:
<script language="javascript" type="text/javascript">
$(document).ready(function () {
FB_RequireFeatures(['CanvasUtil'], function () {
FB.XdComm.Server.init("<%= ResolveUrl("~/xd_receiver.htm") %>");
FB.CanvasClient.startTimerToSizeToContent();
});
});
</script>
У меня есть xd_receiver.htm в моем корневом каталоге, и предполагается, что приведенный выше код javascript - это все, что мне нужно для проверки моего домена с помощью facebook.
Правильно ли мое предположение или все изменилось?
Я даже пытался переместить код FB из функции готовности JQuery так:
<script language="javascript" type="text/javascript">
FB_RequireFeatures(['CanvasUtil'], function () {
FB.XdComm.Server.init("<%= ResolveUrl("~/xd_receiver.htm") %>");
FB.CanvasClient.startTimerToSizeToContent();
});
</script>
Но это тоже не работает ...
Кто-нибудь может пролить свет на то, что я делаю неправильно или как заставить xd файл работать, используя решение IFrame SDK / MVC ...
FB.CanvasClient.startTimerToSizeToContent () запускается, потому что в моем приложении нет полос прокрутки, что доказывает, что функция FB_RequireFeatures работает. Но что касается того, выполняет ли FB.XdComm.Server.init свою часть, я просто не уверен, как мне пройти этот тест ???
Содержимое моего файла xd_receiver.html в моем корневом каталоге:
<!--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>cross domain receiver page</title>
</head>
<body>
<!--
As described in: http://wiki.developers.facebook.com/index.php/Cross-domain_communication_channel
-->
<script src="http://static.ak.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
</body>
</html>-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
</body>
</html>
XdCommReceiver.js существует, так как я только что скопировал вставленный URL в браузер. Мои пути верны или у вас есть фейсбук и измените URL и т. Д.? *
Я понимаю, что моя главная проблема в том, что Safari не будет запускать мое приложение вообще, если я не разберусь с этим междоменным материалом.
Любая помощь здесь будет высоко ценится: - \
Спасибо
Rob
<< ДОПОЛНИТЕЛЬНЫЙ КОММЕНТАРИЙ >>
Есть ли встроенный механизм в последней версии FacebookSDK v 4.1.1, чтобы этот междоменный материал просто работал? Думали ли разработчики SDK об этой проблеме? Или я только что рассказал о будущей функции ...: - \