Jquery append() 和 appendTo() 追加多个元素
Jquery append() and appendTo() append multiple elements
我正在尝试延迟加载 google 地图,它应该在触发模式时加载:
$( document ).on( "shown.bs.modal", function(){
$script = $("<script>", {'type': 'text/javascript', 'src': 'https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initialize'});
$script.appendTo($("head"));
});
但我有多个脚本行:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initialize"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initialize"></script>
控制台:
You have included the Google Maps API multiple times on this page. This may cause unexpected errors.main.js:59 klmain.js:60 (anonymous function)js?signed_in=true&callback=initialize&_=1424619719408:21 google.maps.Loadmain.js:60 (anonymous function)main.js:61 (anonymous function)
如何只追加一行?
还是有其他方法 (jquery)?
非常感谢。
萨鲁2
您可以检查 google.maps
是否已经可用,当可用时 运行 initialize
,否则加载 API:
$( document ).on( "shown.bs.modal", function(){
if(window.google && window.google.maps){
initialize();
return;
}
$script = $("<script>",
{'type': 'text/javascript',
'src': 'https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initialize'});
$script.appendTo($("head"));
});
我正在尝试延迟加载 google 地图,它应该在触发模式时加载:
$( document ).on( "shown.bs.modal", function(){
$script = $("<script>", {'type': 'text/javascript', 'src': 'https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initialize'});
$script.appendTo($("head"));
});
但我有多个脚本行:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initialize"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initialize"></script>
控制台:
You have included the Google Maps API multiple times on this page. This may cause unexpected errors.main.js:59 klmain.js:60 (anonymous function)js?signed_in=true&callback=initialize&_=1424619719408:21 google.maps.Loadmain.js:60 (anonymous function)main.js:61 (anonymous function)
如何只追加一行? 还是有其他方法 (jquery)?
非常感谢。 萨鲁2
您可以检查 google.maps
是否已经可用,当可用时 运行 initialize
,否则加载 API:
$( document ).on( "shown.bs.modal", function(){
if(window.google && window.google.maps){
initialize();
return;
}
$script = $("<script>",
{'type': 'text/javascript',
'src': 'https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initialize'});
$script.appendTo($("head"));
});