Google Picker не просыпается в первый раз (щелчок) в браузере Safari

Я включил Google Picker на своей веб-странице, следуя инструкциям ( https://developers.google.com/picker/docs/). Он отлично работает в Chrome и Firefox, но в Safari не работает при первом нажатии кнопки. Позвольте мне объяснить подробно:

Я использую кнопку для выполнения кода Google Picker, и он отлично работает в Chrome и Firefox, но когда я первый раз нажал кнопку в браузере Safari (Версия 10.1.1), он ничего не делает (Не загружает Вход или окно выбора) но когда я снова нажимаю на ту же кнопку, это работает!

Ниже мой код:

          function fnGooglePicker(){
                var developerKey = XXXXXXXXXX;
                var clientId = XXXXXXXXXXXX;
                var appId = XXXXXXXXXXXXX;
                var scope = ['XXXXXX', 'XXXXXXXXX', 'XXXXXX'];
                var pickerApiLoaded = false;
                var oauthToken;
                // Use the API Loader script to load google.picker and gapi.auth.
                gapi.load('auth', {'callback': onAuthApiLoad});
                gapi.load('picker', {'callback': onPickerApiLoad});

                function onAuthApiLoad() {
                    window.gapi.auth.authorize(
                        {
                            'client_id': clientId,
                            'scope': scope,
                            'immediate': false
                        },
                        handleAuthResult);

                }

                function onPickerApiLoad() {
                    pickerApiLoaded = true;
                    createPicker();
                }
                function handleAuthResult(authResult) {
                    if (authResult && !authResult.error) {
                        oauthToken = authResult.access_token;
                        createPicker();

                    }
                }
                // Create and render a Picker object for picking user Photos.
                function createPicker() {

                    if (pickerApiLoaded && oauthToken) {
                        var view = new google.picker.View(google.picker.ViewId.DOCS);
                        var picker = new google.picker.PickerBuilder()
                            .enableFeature(google.picker.Feature.NAV_HIDDEN)
                            .enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
                            .setAppId(appId)
                            .setOAuthToken(oauthToken)
                            .addView(view)
                            .addView(new google.picker.DocsUploadView())
                            .setDeveloperKey(developerKey)
                            .setCallback(pickerCallback))
                            .build();
                        picker.setVisible(true);
                    }
                }
                // A simple callback implementation.
                function pickerCallback(data) {
                if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
                      // Some code
                    }
                }
      }
     <Input type="button" value="Pick Files" onClick="fnGooglePicker();">

Пожалуйста, помогите мне решить проблему.

0 ответов

Другие вопросы по тегам