gpt4 book ai didi

c# - 如何从父页面调用 iframe 中的脚本?

转载 作者:太空狗 更新时间:2023-10-30 01:06:33 25 4
gpt4 key购买 nike

我正在尝试通过隐藏代码从父页面调用 IFrame 中的脚本。我用来调用函数的 C#:

protected void Page_Load(object sender, EventArgs e)
{
...
string scr = "document.getElementById('mapframe').contentWindow.addPoint(0, 0);"
ClientScript.RegisterStartupScript(GetType(), Guid.NewGuid().ToString(), scr , true);
}

iFrame 的 HTML:

 <iframe name="mapframe" id="mapframe" src="Map.html" style="width:100%;height:360px;"></iframe>

以及 IFrame 中的 Javascript:

          function addPoint(lat, lon) {
var myLatlng = new google.maps.LatLng(lat, lon);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: "Hit"
});
}

但是,这会导致此错误:“无法获取未定义或空引用的属性‘addPoint’”。是什么导致了这个错误?我已检查以确保 contentWindow 不为空。

最佳答案

问题可能是当您尝试调用该函数时您的 iframe 未加载

尝试以下操作

document.getElementById('mapframe').onload = function() {
// I prefer frames.mapFrame.addPoint();
document.getElementById('mapframe').contentWindow.addPoint(0,0);
}

甚至

<iframe 
name="mapframe"
id="mapframe"
src="Map.html"
style="width:100%;height:360px;"
onload="this.contentWindow.addPoint(0,0)"></iframe>

关于c# - 如何从父页面调用 iframe 中的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169543/

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