2012-04-26 172 views
0

我有一個張貼到iFrame的表單。 iFrame內的網站是我無法控制的。不過,我想將iframe中的幾張圖片顯示爲「無」。iFrame中的訪問元素返回null

<form id="testForm" method="post" target="testFrame"> 
    <input type="hidden" name="RequestXML" ID="RequestXML" value="<Request><RedirectURL>Account/TokenRequest</RedirectURL></Request>" 
</form> 

<iframe id="testFrame" name="testFrame" frameborder="0" style="width:1000px;height:500px"> </iframe> 

這是我在頁面頂部腳本:

<script type="text/javascript"> 
    $(function() { 
    $("#testForm").attr("action", "http://externalwebsite.aspx"); 
    $('#testForm').submit(); 

    var iframe = document.getElementById('testFrame'); 
    var innerDoc = iframe.contentDocument || iframe.contentWindow.document; 
    //alert($("#testFrame").contents().find("body").html()); 
    //alert(innerDoc.innerHTML); 
    }); 
</script> 

我的兩個警報在Chrome,IE和Firefox返回null。訪問該iframe中的元素的最佳方式是什麼? (在Chrome我不甚至可以看到該網站的HTML,當我嘗試做「檢查元素」,並查看HTML)

通過我做的這一切都在MVC4項目

+0

看看這個http://stackoverflow.com/questions/364952/jquery-javascript-accessing-contents-of-an-iframe。 – EnigmaMaster 2012-04-26 16:32:59

回答

0

假設的方式,這不是跨域問題,請嘗試:

var body = $('#testFrame').contents().find('body'); 
0

由於此跨域有兩個選項。

如果您有權訪問iframe代碼,那麼您可以將XDM代碼放在那裏,也許easyXDM會有所幫助。

或者

你必須去服務器端,讓你的php/asp.net等後端去獲取頁面,並獲得它需要的數據。