gpt4 book ai didi

javascript - 页面加载后从 myshiptracking 加载 map

转载 作者:行者123 更新时间:2023-12-03 00:09:03 24 4
gpt4 key购买 nike

除了这个主题execute a javascript after page load is complete我注意到该解决方案不适用于加载 map 。我确实有类似的用例。但是,如果我按照脚本操作,则所需的脚本不会加载。

我想在页面加载完成后加载 map ,但是我确实在页面源代码中看到了脚本,但没有执行任何脚本。

来源是:

var mst_width = "96%";
var mst_height = "350vh";
var mst_border = "0";
var mst_map_style = "simple";
var mst_mmsi = "244770624";
var mst_show_track = "true";
var mst_show_info = "true";
var mst_fleet = "";
var mst_lat = "";
var mst_lng = "";
var mst_zoom = "";
var mst_show_names = "0";
var mst_scroll_wheel = "true";
var mst_show_menu = "true";
window.onload = function () {
var element = document.createElement("script");
element.src = "http://www.myshiptracking.com/js/widgetApi.js";
document.getElementsByTagName("head")[0].appendChild(element);
}

在页面源代码中我看到:

var mst_width = "96%";
var mst_height = "350vh";
var mst_border = "0";
var mst_map_style = "simple";
var mst_mmsi = "244770624";
var mst_show_track = "true";
var mst_show_info = "true";
var mst_fleet = "";
var mst_lat = "";
var mst_lng = "";
var mst_zoom = "";
var mst_show_names = "0";
var mst_scroll_wheel = "true";
var mst_show_menu = "true";
window.onload = function () {
var element = document.createElement("script");
element.src = "http://www.myshiptracking.com/js/widgetApi.js";
document.getElementsByTagName("head")[0].appendChild(element);
}

有人可以指出我如何执行脚本吗?我还假设脚本应该附加到“正文”而不是“头部”,但我不确定。谢谢!

编辑基于头部到 body 的变化:

<script>
var mst_width="96%";var mst_height="350vh";var mst_border="0";var mst_map_style="simple";var mst_mmsi="244770624";var mst_show_track="true";var mst_show_info="true";var mst_fleet="";var mst_lat="";var mst_lng="";var mst_zoom="";var mst_show_names="0";var mst_scroll_wheel="true";var mst_show_menu="true";
window.onload = function() {
var element = document.createElement("script");
element.src = "http://www.myshiptracking.com/js/widgetApi.js";
document.getElementsByTagName("body")[0].appendChild(element );
}
</script>

最佳答案

所以,最后我成功解决了这个问题,并在浏览器中获得了所需的 map ...使用以下 HTML+JS 代码(您可以使用下面的按钮运行):

<html lang="en-US" prefix="og: http://ogp.me/ns#">
<head>
<script>
var mst_width="100%";var mst_height="450px";var mst_border="0";var mst_map_style="terrain";var mst_mmsi="";var mst_show_track="";var mst_show_info="";var mst_fleet="";var mst_lat="";var mst_lng="";var mst_zoom="";var mst_show_names="0";var mst_scroll_wheel="true";var mst_show_menu="true";

function loadMap() {
var element = document.createElement("script");
element.setAttribute("id", "myshiptrackingscript");
element.setAttribute("async", "");
element.setAttribute("defer", "");
element.src = "http://www.myshiptracking.com/js/widgetApi.js";
document.getElementById("mapContent").appendChild(element );
}
window.onload = loadMap
console.log('Registered onload')
</script>
</head><body>
<div id="mapContent" />
</body></html>

注意两点:

  1. 您应该添加创建的 script标签作为属于 body 的标签的子标签ot 页面(我使用 <div id="mapContent"/>getElementById 来访问它)
  2. 您应该通过 http:// 加载 HTML 页面URL,不是通过 file://一:对于后者,您会收到一条错误消息,例如“浏览器不支持嵌入对象”

希望这可以帮助您解决实际案例中的问题!

关于javascript - 页面加载后从 myshiptracking 加载 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com