2016-07-12 6 views
0

я получил HTML-файл, который имеет Google сборщика API реализован следующий учебник (https://developers.google.com/picker/docs/)JavaScript не загружается в первый раз на новом окне

Я открываю этот HTML-файл в новом окне, щелкнув кнопка, которая вызывает windows.open()

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

Любая помощь?

+1

Отправьте свой код как часть вашего вопроса. Возможно, что-то связано с тем, как вы обрабатываете событие загрузки или позиционируете теги скриптов, но невозможно сказать, не видя свой код. – ManoDestra

+0

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

+0

Отправьте свой код как часть вашего вопроса, а не в комментарии. – ManoDestra

ответ

0

Код пастеина, который вы предоставили, не помогает, поэтому я просто сделал вам пример.

openwindow.html

//HTML page with a button that opens the googlepicker.html 
<body> 
<script src="js/scripts.js"></script> 
<FORM> 
//fill in your appropriate URL 
<INPUT type="button" value="New Window!" onClick="window.open('http://localhost:8000/googlepicker.html','window name','width=400,height=400')"> 
</FORM> 
</body> 

googlepicker.html

Используйте код из Google Picker sample

<script type="text/javascript"> 

    // The Browser API key obtained from the Google Developers Console. 
    var developerKey = 'xxxxxxxYYYYYYYY-12345678'; 

    // The Client ID obtained from the Google Developers Console. Replace with your own Client ID. 
    var clientId = "1234567890-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com" 

    // Scope to use to access user's photos. 
    var scope = ['https://www.googleapis.com/auth/photos']; 

    var pickerApiLoaded = false; 
    var oauthToken; 

    // Use the API Loader script to load google.picker and gapi.auth. 
    function onApiLoad() { 
    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 picker = new google.picker.PickerBuilder(). 
      addView(google.picker.ViewId.PHOTOS). 
      setOAuthToken(oauthToken). 
      setDeveloperKey(developerKey). 
      setCallback(pickerCallback). 
      build(); 
     picker.setVisible(true); 
    } 
    } 

    // A simple callback implementation. 
    function pickerCallback(data) { 
    var url = 'nothing'; 
    if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) { 
     var doc = data[google.picker.Response.DOCUMENTS][0]; 
     url = doc[google.picker.Document.URL]; 
    } 
    var message = 'You picked: ' + url; 
    document.getElementById('result').innerHTML = message; 
    } 
</script> 

<!-- The Google API Loader script. --> 
<script type="text/javascript" src="https://apis.google.com/js/api.js?onload=onApiLoad"></script> 

При нажатии на кнопку, то откроется окно googlepicker.html. Надеюсь, это поможет.