CakePHP / Chrome - что-то с плагином Facebook заставляет мой сайт автоматически обновляться снова и снова - PullRequest
0 голосов
/ 31 марта 2011

Что-то с "echo $ facebook-> init ();"заставляет мой сайт обновляться снова и снова только в Chrome.(Изменить *: Это также происходит на моем телефоне Android с браузером Dolphin.)

Код, который вызывает это:

echo $facebook-init();

, и генерирует это:

<div id="fb-root"></div><script type="text/javascript"> 
//<![CDATA[

          window.fbAsyncInit = function() {
            FB.init({
              appId   : '203899102970207',
              session : null, // don't refetch the session when PHP already has it
              status  : true, // check login status
              cookie  : true, // enable cookies to allow the server to access the session
              xfbml   : true // parse XFBML
            });
            // whenever the user logs in, we refresh the page
            FB.Event.subscribe('auth.login', function() {
              window.location.reload();
            });
          };
          (function() {
            var e = document.createElement('script');
            e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
            e.async = true;
            document.getElementById('fb-root').appendChild(e);
          }());

//]]>
</script>

Очевидно, я предполагаю, что это делает window.location.reload (), но - это не тот код, который я добавил или могу редактировать вручную.

Кто-нибудь видел это или имел какое-либо представление о том, что может быть причиной этого?/ как я могу это исправить?

Заранее спасибо за любую помощь / направление.

Ответы [ 3 ]

2 голосов
/ 24 мая 2011

В последней версии плагина CakePHP для Facebook он позволяет передавать false в вызов init (), который не позволяет обновляться снова и снова (или даже один раз).

Это не кажется лучшим решением, потому что, когда пользователь Facebook заходит на страницу, он не узнает, что он вошел в систему до следующего просмотра страницы, но - кажется, пока это единственное решение.

$this->facebook->init(null, false);
0 голосов
/ 24 мая 2011

Я предполагаю, что проблема заключается в печенье. В вашей «конфигурации» вы используете cookie => true?

Посмотрите здесь: http://saizai.livejournal.com/897522.html Несмотря на то, что это для Safari, оно может работать и для Chrome. Попробуйте очистить все свои файлы cookie в Chrome и установить для использования cookie в вашем приложении Facebook значение false. Надеюсь, это немного поможет!

0 голосов
/ 31 марта 2011

иногда файл .htaccess может вызывать это. Проверьте это сначала. Исключает возможность не менее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...