2010-09-17 149 views
0

我知道類似的問題之前已經被問到過,但到目前爲止,沒有任何解決方案爲我工作。jQuery:獲取修改的iframe的內容

$(document).ready(function(){ 
    alert($('#my_iframe').contents().html()); //displays null 
}); 

我有一個包含iframe的thickbox。 iframe包含一個圖片上傳/裁剪工具,我需要提取上傳的圖片url並將其用於iframe父級。

我該如何做到這一點?這甚至有可能嗎? 感謝您的幫助!

回答

3

我想也許你的問題是,iframe沒有設法完成加載其頁面之前,你問它的HTML。您擁有的「文件準備好」功能僅適用於父母的doms而不是iframe。

如果你有一個按鈕(也許是因爲thinkbox的關閉按鈕)或iframe中加載完成後,將觸發任何其它事件,然後使用這樣的事情:

$("#my_iframe").contents().find("a.image_url").attr("href"); 

我希望這是什麼你正在尋找!

+0

謝謝Mouhannad,那就是我一直在尋找的東西。點擊我的thickbox的「確定」按鈕後,調用您的線路解決了我的問題。 – DavidD 2010-09-17 15:53:23

0

我不明白爲什麼,但在iframe選項上調用$()。contents()將返回包含iframe文檔的選擇。也就是說,這相當於調用$(document)。在文檔選擇上調用$()。html()將始終返回null。你需要做的,而不是什麼是使用文件作爲背景下新搜索:

var imageUrl = $('#my_iframe').contents().find('#image_url').attr('href'); 
1

Mouhannad我的權利,你需要一個負載功能第一

$(document).ready(function(){ 
    $('#my_iframe').load(function(){ 
     alert($('#my_iframe').contents().find("a.image_url").attr("href")); 
    }); 
}); 
1
$("#frameexample").contents().... 

由於安全原因,這樣做不在不同的領域工作。