我需要创建一个脚本元素,并在其中附加谷歌地图功能。 我想知道:我可以通过追加在函数中使用变量吗?
var center = {lat: -34.397, lng: 150.644};
document.createElement("script").append(
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: center,
zoom: 8
});
}
);
答案 0 :(得分:2)
您可以使用此方法运行脚本。因为append
仅用于Node
-s。
function runScript(func) {
var e = document.createElement('script');
e.innerHtml = func.toString();
document.head.appendChild(e);
}
runScript(function(){
alert('okay');
});
您可以使用此方法运行任何js脚本。
runScript(function(){
map = new google.maps.Map(document.getElementById('map'), {
center: center,
zoom: 8
});
});
答案 1 :(得分:1)
.append(...)
仅用于节点或DOM字符串。不适用于JS代码。
https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/append
为什么不直接调用initMap()? 像这样:
var center = {lat: -34.397, lng: 150.644};
function initMap() {
return new google.maps.Map(document.getElementById('map'), {
center: center,
zoom: 8
});
var map = initMap();