Javascript <;iframe>;正在无限期地加载页面

Javascript <;iframe>;正在无限期地加载页面,javascript,html,iframe,Javascript,Html,Iframe,我在中嵌入了一个页面,如下所示: <iframe id = 'iframeid' src="/qgis/index.html" scrolling="no" frameborder="0" style="height: 100vh; width: 100%" onload="on_load(this)"> </iframe> 这里是加载iframe后调用的o

我在
中嵌入了一个页面,如下所示:

<iframe id = 'iframeid'
        src="/qgis/index.html"
        scrolling="no"
        frameborder="0"
        style="height: 100vh;
               width: 100%"
        onload="on_load(this)">
</iframe>

这里是加载iframe后调用的on_load函数

<script type="text/javascript">

function on_load(iframe) {
try {
  var lat = -0.017;
  var lng = 0.015;
  var zoom = 16;

  var map = document.getElementById("iframeid").contentWindow.map;

  map.setView([lat, lng], zoom);
  } catch (e) {
    // This can happen if the src of the iframe is
    // on another domain
    alert('exception: ' + e);
  }
}
</script>

加载时的功能(iframe){
试一试{
var lat=-0.017;
var lng=0.015;
var=16;
var map=document.getElementById(“iframeid”).contentWindow.map;
地图设置视图([lat,lng],缩放);
}捕获(e){
//如果iframe的src为
//在另一个域上
警报('异常:'+e);
}
}
我的问题是,
进入一个循环,页面再次被加载到
中,并且无限期地像这样运行


如果您可以使用jQuery,您可以尝试通过以下方式更改函数“onload”:


因为我想知道您的脚本是否在尚未准备好时触发了onload。

我已经尝试了您的代码,并在javascript之前添加了一行代码

试试看:

<iframe id = 'iframeid'
    src="home.html"
    scrolling="no"
    frameborder="0"
    style="height: 100vh;
           width: 100%"
    onload="on_load(this)">
</iframe>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function on_load(iframe) {
try {
var lat = -0.017;
var lng = 0.015;
var zoom = 16;

var map = document.getElementById("iframeid").contentWindow.map;

 map.setView([lat, lng], zoom);
} catch (e) {
// This can happen if the src of the iframe is
// on another domain
alert('exception: ' + e);
}
}
</script>

加载时的功能(iframe){
试一试{
var lat=-0.017;
var lng=0.015;
var=16;
var map=document.getElementById(“iframeid”).contentWindow.map;
地图设置视图([lat,lng],缩放);
}捕获(e){
//如果iframe的src为
//在另一个域上
警报('异常:'+e);
}
}

没有任何变化:iframe一次又一次地将页面加载到内部。
<iframe id = 'iframeid'
    src="home.html"
    scrolling="no"
    frameborder="0"
    style="height: 100vh;
           width: 100%"
    onload="on_load(this)">
</iframe>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function on_load(iframe) {
try {
var lat = -0.017;
var lng = 0.015;
var zoom = 16;

var map = document.getElementById("iframeid").contentWindow.map;

 map.setView([lat, lng], zoom);
} catch (e) {
// This can happen if the src of the iframe is
// on another domain
alert('exception: ' + e);
}
}
</script>