[英]How to call a script in an iframe from the parent page?
我試圖從后面的代碼中的父頁面調用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不為null。
當您嘗試調用該函數時,問題可能是您的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>
一旦iframe被加載,然后你可以調用函數添加點。 或者您可以將此函數的調用放在onload
事件中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.