Как остановить кнопку входа в Google + от всплывающего сообщения " Добро пожаловать обратно, вы уже подключены к этому приложению через Google + вход в систему как …"

Я добавляю кнопку входа Google+ на свой сайт, используя Серверный поток. Вот как я представляю кнопку входа в систему:

<script type="text/javascript">
    (function () {
        var po = document.createElement('script');
        po.type = 'text/javascript';
        po.async = true;
        po.src = 'https://plus.google.com/js/client:plusone.js?onload=renderGPlus';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(po, s);
    })();
</script>

<script type="text/javascript">
    function renderGPlus() {
        gapi.signin.render('customGPlusBtn', {
            'callback': 'gPlusSignInCallback',
            'clientid': '<my_client_id>',
            'redirecturi': 'postmessage',
            'accesstype': 'offline',
            'cookiepolicy': 'single_host_origin',
            'requestvisibleactions': 'http://schemas.google.com/BuyActivity',
            'scope': 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email'
        });
    }
</script>

когда кнопка загружена, она немедленно проверяет, авторизовал ли пользователь мое приложение (немедленный режим). Если пользователь ранее авторизовал мое приложение, в нижней части страницы появится панель уведомлений с сообщением " Добро пожаловать, вы уже подключились к этому приложению через Google + Sign-In as .....".

enter image description here

есть в любом случае, чтобы остановить это сообщение выскакивает?

4 ответов


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

вы должны авторизовать пользователя в любое время, когда вы видите результат авторизации, успешно возвращающий и обновляющий пользователя в авторизованное состояние. Таким образом, Пользователь автоматически подписывается когда появится это сообщение.

поскольку сообщение, которое появляется там, чтобы сообщить пользователям, что они были автоматически вошли в систему, вы, вероятно, не должны подавлять это сообщение, если вы не делаете это намеренно для пользователя, сеанс которого вы явно управляете.

однако, если вы реализовали явный выход и управляете состоянием входа пользователя, следующий код изменится на plusone.JS synchronous include подавит тост сообщение.

<script src="https://apis.google.com/js/plusone.js">
  isSignedOut: true
</script>

другое Примечание, вам больше не нужно управлять состоянием пользователя, чтобы выйти из системы. Новый метод gapi.auth.signOut подпишет пользователя. Ты можешь!--13-->смотрите демонстрацию signout здесь.

если вы выполняете асинхронное включение, следующие флаги глобальной конфигурации будут подавлять сообщение:

window.___gcfg = { isSignedOut: true };

обновление:

как указал Chimdi2000 это решение не работает в Chrome. Вы можете добавить следующий CSS, чтобы скрыть созданный iframe:

iframe[src^="https://apis.google.com"] {
  display: none;
}

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


совсем недавно недавно принятый ответ на этой странице для скрытия "Google Sign-in Welcome back pop up"

window.___gcfg = { isSignedOut: true };

опять не работает.

AIM:" скрыть или подавить Google+ войти приветственное сообщение " на всех браузерах.

пожалуйста, если вы используете `

window.___gcfg = { isSignedOut: true };

чтобы подавить предупреждение. После серьезных экспериментов я обнаружил это.

я порекомендую вам использовать эти версии iframe для подавления любого вида Google API всплывающее окно на вашей веб-странице..

Iframe 1:iframe[src^="https://apis.google.com"] {display: none;} Это Скрывает все всплывающие окна из Google APIs на веб-странице.

Iframe 2:iframe[src^="https://apis.google.com/u/0/_/sharebox"] {display: none;} это скрывает все интерактивный диалог обмена Google всплывающие на веб-странице.

Iframe 3:iframe[src^="https://apis.google.com/u/0/_/widget/oauthflow/toast"] {display: none;} это скрывает все " приветственное сообщение Google" всплывающее окно на веб-странице.

Iframe 4:iframe[src^="https://apis.google.com/u/0/_/+1/"] {display: none;} это скрывает все " Google Кнопка +1" на вашей веб-странице.

поэтому для этого конкретного вопроса сделайте это в теге Head вашей HTML-страницы

 <style> `iframe[src^="https://apis.google.com/u/0/_/widget/oauthflow/toast` </style>

протестировали его, и он работает отлично.


принятый ответ-правильный способ сделать это, но если по какой-то другой причине вы просто хотите скрыть сгенерированный iframe, вы можете сделать это с помощью CSS:

iframe[src^="https://apis.google.com"] {
  display: none;
}

Chimdi2000последний код стиля должен быть:

<style>
iframe[src^="https://apis.google.com/u/0/_/widget/oauthflow/toast"] {
  display: none;
}
</style>

и работает идеально.

EDIT:

кодирование ниже также скрывает кнопку входа в систему.

<style>
iframe[src^="https://apis.google.com"] {
    display: none;
}
</style>