[英]Target parent div containing iframe from iframe
所以基本上我有這樣的東西
<div class="iframe-holder">
<span></span>
<iframe src="iframe.html" width="200" height="200"
</div>
<div class="iframe-holder">
<span></span>
<iframe src="iframe.html" width="200" height="200"
</div>
<div class="iframe-holder">
<span></span>
<iframe src="iframe.html" width="200" height="200"
</div>
<script>
function where_am_i(iframe_parent_div,msg){
$(iframe_parent_div).find('span').html(msg);
}
</script>
然后在我的iframe-holder.html我基本上有這個
<a href="#" id="msg">Show Message In Parent Div</a>
<script>
//i want to basically imp
$('msg').click(function(event){
event.preventDefault();
var iframe_parent_div=???;//how do I get this?
parent.where_am_i(iframe_parent_div,'This is where this iframe is');
});
</script>
所以基本上我的問題是如何定位iframe實例的父div(div.iframe-holder)我點擊“顯示消息”按鈕? 這甚至可能嗎?
我知道我可以通過源發送一個帶索引的變量if iframe.html?index = 0表示第一個iframe.html?index = 1表示第二個等等但是這對我來說不是一個可行的解決方案,因為在iframe會有很多導航到不同的頁面,所以傳遞到所有頁面索引不是一個選項。
做:
var iframe_parent_div = window.frameElement ? window.frameElement.parentNode : null;
您可以在父文檔中編寫一個函數,該函數將iframe的名稱作為參數,然后從那里獲取iframe-holder div。 這樣的事情應該足夠了:
父文檔中的代碼
var findIframeHolder = function (name) {
var $frame = $('iframe[name="' + name + '"]');
var $frameParent = $frame.parent();
};
IFrame中用於調用父函數的代碼
parent.findIframeHolder(window.name);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.