Heim  >  Artikel  >  Backend-Entwicklung  >  javascript – Ich habe eine Frage. Liegt es daran, dass die externe JS-Datei nicht heruntergeladen wurde und die Ready-Funktion nicht ausgeführt wird?

javascript – Ich habe eine Frage. Liegt es daran, dass die externe JS-Datei nicht heruntergeladen wurde und die Ready-Funktion nicht ausgeführt wird?

WBOY
WBOYOriginal
2016-12-01 00:56:451161Durchsuche

Ich habe kürzlich ein Problem mit der Karten-API von Google festgestellt, die ich lange Zeit nicht lokal öffnen konnte und die sich immer im Status „Ausstehend“ befand Schaltflächen, insbesondere diese Schaltflächen, wenn sich das Klickereignis in der Bereitschaftsfunktion befindet, hat es keine Auswirkung. Was ist die Lösung?

<code>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?language=<?php echo $language; ?>"></script> 
   
 <script type="text/javascript"> 


  $(document).ready(function() {
    var lat = {lat: <?php echo $geocodes[0]; ?>, lng: <?php echo $geocodes[1]; ?>}; 
    var myOptions = {  
       zoom: 17,
       center: lat,
       mapTypeId: google.maps.MapTypeId.ROADMAP,
       disableDefaultUI: true,
       zoomControl: true,
    }; 
    var map = new google.maps.Map(document.getElementById("map"), myOptions);   
    var marker = new google.maps.Marker({
      map: map,
      // Define the place with a location, and a query string.
      place: {
        location: lat,
        query: `<?php echo $address; ?>`

      },
      // Attributions help users find your site again.
      attribution: {
        source: 'Google Maps JavaScript API',
        webUrl: 'https://developers.google.com/maps/'
      }
    });

    // Construct a new InfoWindow.
    var infoWindow = new google.maps.InfoWindow({
      content: `<?php echo $store; ?><br><?php echo $address; ?>`
    });
      infoWindow.open(map, marker);
    // Opens the InfoWindow when marker is clicked.
    marker.addListener('click', function() {
      infoWindow.open(map, marker);
    }); 

  });
    
 </script> </code>

Weitere fertige Funktionen

<code>$(document).ready(function() {
    // Language
    $('.language a').on('click', function(e) {
        e.preventDefault();

        $('.language input[name=\'code\']').attr('value', $(this).attr('href'));

        $('.language').submit();
    });
});</code>

Antwortinhalt:

Ich habe kürzlich ein Problem mit der Karten-API von Google festgestellt, die ich lange Zeit nicht lokal öffnen konnte und die sich immer im Status „Ausstehend“ befand Schaltflächen, insbesondere diese Schaltflächen, wenn sich das Klickereignis in der Bereitschaftsfunktion befindet, hat es keine Auswirkung. Was ist die Lösung?

<code>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?language=<?php echo $language; ?>"></script> 
   
 <script type="text/javascript"> 


  $(document).ready(function() {
    var lat = {lat: <?php echo $geocodes[0]; ?>, lng: <?php echo $geocodes[1]; ?>}; 
    var myOptions = {  
       zoom: 17,
       center: lat,
       mapTypeId: google.maps.MapTypeId.ROADMAP,
       disableDefaultUI: true,
       zoomControl: true,
    }; 
    var map = new google.maps.Map(document.getElementById("map"), myOptions);   
    var marker = new google.maps.Marker({
      map: map,
      // Define the place with a location, and a query string.
      place: {
        location: lat,
        query: `<?php echo $address; ?>`

      },
      // Attributions help users find your site again.
      attribution: {
        source: 'Google Maps JavaScript API',
        webUrl: 'https://developers.google.com/maps/'
      }
    });

    // Construct a new InfoWindow.
    var infoWindow = new google.maps.InfoWindow({
      content: `<?php echo $store; ?><br><?php echo $address; ?>`
    });
      infoWindow.open(map, marker);
    // Opens the InfoWindow when marker is clicked.
    marker.addListener('click', function() {
      infoWindow.open(map, marker);
    }); 

  });
    
 </script> </code>

Weitere fertige Funktionen

<code>$(document).ready(function() {
    // Language
    $('.language a').on('click', function(e) {
        e.preventDefault();

        $('.language input[name=\'code\']').attr('value', $(this).attr('href'));

        $('.language').submit();
    });
});</code>

<code><script>
var js = document.createElement('script');
js.src= 'js地址';
document.querySelector('body').appendChild(js);
</script></code>

Dies wird nicht blockiert

Ihre fertige Funktion hängt von der API von Google ab. Sie können also nur warten, bis die API geladen ist. Wenn sie zu langsam ist, laden Sie die Google API-Datei herunter und fügen Sie sie in die statischen Ressourcen Ihrer Website ein.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn