在脚本src中使用本地存储值

时间:2019-06-11 14:13:39

标签: javascript jquery html

如何在脚本标记的SRC值中包含本地存储值?

我有这个:

<script id="gmap" async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap&key=">

然后我get的本地值:

var gkey = localStorage.getItem('LSGMD-GoogleMapsAPIKey');

已设置本地值,并在通过警报显示它时正确显示。但是现在我该如何在脚本中使用此本地值。它应该变成:

<script id="gmap" async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap&key=LOCALVALUE">

编辑一:这是我尝试过的方法,但是当它确实更改了SRC时,它不会显示地图。

<script>
  (function ($) {
    $(document).ready(function() {
      var gkey = localStorage.getItem('LSGMD-GoogleMapsAPIKey');
      var glink = "https://maps.googleapis.com/maps/api/js?callback=initMap&key=";
      var gscript = glink + gkey;
      $("#gmap").attr("src",gscript);
    });
  })(jQuery);
</script>

如何为该部分&key=VARHERE">添加一个变量?

1 个答案:

答案 0 :(得分:2)

我认为一种解决方案是动态创建该脚本元素

<script>
    var script = document.createElement('script');
    script.onload = function () {
        var ipServer = location.host;
    };
    var gkey = localStorage.getItem('LSGMD-GoogleMapsAPIKey');

    script.setAttribute( 'src', 'https://maps.googleapis.com/maps/api/js?callback=initMap&key=' + gkey);
    document.head.appendChild(script);
</script>