В Google Chrome (я на 9.0.597.98) мое приложение Facebook iFrame , использующее Graph API / Javascript SDK, обычно выдает следующие две ошибки JavaScript (см. Ниже), основанные на междоменных сценариях, но только на одной странице приложения.
Идет бесконечный цикл повторов второго сообщения.После того, как он оставил его на ночь, к утру он сообщил о полумиллионе повторных попыток!
Используется вызов FB для входа в систему:
FB.login(function(response) {
if (response.session) {
// user successfully logged in
} else {
// user cancelled login
}
});
В Firefox и IE9 я не получаю эти ошибки.Это специфично для Chrome (возможно, WebKit). Что странно, у меня есть вторая страница в приложении, которая использует FB.Login
, и она работает в Chrome в дополнение к другим браузерам.Я где-то читал, что Safari предъявляет более строгие требования к междоменным сценариям - он и Chrome используют одну и ту же базу кода.
Domains, protocols and ports must match
(сообщение об ошибке) Я считаю, что на самом деле удовлетворен, потому что у меня есть другая страница, которая работает с FB.Login
вызовом Единственное другое отличие, которое я вижу между этими двумя сообщениями, - это запрос postmessage
Аргумент имеет различное значение для каждого (выделено жирным шрифтом в сообщениях). Однако существует только один iFrame, который составляет приложение Facebook, поэтому мне интересно, почему два разных значения могут использоваться одно за другим.Я не хочу приводить ответы, чтобы сосредоточиться на этом вопросе, но я действительно хотел указать на это.
Приветствуются предложения по устранению этой ошибки.
Сообщения консоли Chrome JavaScript:
Сообщение1 : небезопасная попытка JavaScript для доступа к фрейму с URL
https://www.facebook.com/dialog/permissions.request?api_key=168297653202478&app_id=168297653202478&display=popup&fbconnect=0&locale=en_US&method=permissions.request&next=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df3d15633dc%26origin%3Dhttp%253A%252F%252Fsubdomain.example.com%252Ff22a8befa%26relation%3Dopener%26transport%3D postmessage % 26frame% 3D f111baf6f4 % 26result% 3D% 2522xxRESULTTOKENxx% 2522 & perms = publish_stream% 2Coffline_access & return_session = 1 & sdk = joey & session_version = 3 из фрейма с URL http://subdomain.example.com/colonversationmap/Admin.TestPage.aspx?signed_request=871miFgH_-o05POnx20387XHd2YlArKLU6qUv8VkxY4.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImlzc3VlZF9hdCI6MTI5ODQyMDEwMSwidXNlciI6eyJjb3VudHJ5IjoiY2EiLCJsb2NhbGUiOiJlbl9VUyIsImFnZSI6eyJtaW4iOjIxfX19. Домены, протоколы и порты должны совпадать.
Сообщение 2 :Небезопасная попытка JavaScript получить доступ к фрейму с помощью URL
https://www.facebook.com/dialog/permissions.request?api_key=168297653202478&app_id=168297653202478&display=popup&fbconnect=0&locale=en_US&method=permissions.request&next=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df304d46e08%26origin%3Dhttp%253A%252F%252Fsubdomain.example.com%252Ff23ce8203%26relation%3Dopener%26transport%3D postmessage % 26f%% 3D fcd3637bc % 26result% 3D% 2522xxRESULTTOKENxx% 2522 & perms =publish_stream% 2Coffline_access & return_session = 1 & sdk = joey & session_version = 3 из фрейма с URL http://subdomain.example.com/colonversationmap/Admin.TestPage.aspx?signed_request=871miFgH_-o05POnx20387XHd2YlArKLU6qUv8VkxY4.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImlzc3VlZF9hdCI6MTI5ODQyMDEwMSwidXNlciI6eyJjb3VudHJ5IjoiY2EiLCJsb2NhbGUiOiJlbl9VUyIsImFnZSI6eyJtaW4iOjIxfX19. Домены, протоколы и порты должны совпадать.