2012-12-04 75 views
0

我動態加載內容的成功響應後動態IFRAME內容 - 如何獲得該IFRAME的訪問權限?

<iframe style='border:none;' id='abc' src="http://localhost:39217/Home/GetContent/some_dynamic_code"></iframe> 

,在IFRAME是內容

<html> 
    <head> 
     <script type="text/javascript"> 
      function onPageLoad() { 
       if (document.readyState === "complete") { 
        var cont = document.getElementById("abc"); 
        alert(cont);  
       } 
      } 
     </script> 
    </head> 

    <body onload='onPageLoad()'> 
     <a target="_blank" href='http://lorem'> 
     <img class='abc' style='max-width:300px; max-height: 38px;' alt='' src='/Images/image.png' /> 
     </a> 
    </body> 
</html> 

iframe將用我的網站外(用戶)但我希望能夠更改<img>src。但是,在更改圖像後,我還需要更改iframewidth/height。那麼,如何才能使用JS訪問iframe?上面的代碼alertsnull

+0

你設置一個類和搜索ID .. – EricG

回答

1

iFrames和他們的父母之間的JS交互是我知道不可能或至少麻煩。我知道有一個屬性window.frames,甚至可能是frame.parent,但總的來說,像這樣的JS交互是不可能的。我認爲你應該考慮另一種解決方案(如ajaxcall也許,如果這可以滿足你的需求)。

+0

通知,IMG擁有ABC類,但在iframe有ABC ID,我想要得到的iframe對象,而不是IMG – Tony

+0

我不好,編輯.. ;) – EricG

+0

@EricG:好像他想要在iframe中顯示遠程內容。在這種情況下,ajax調用不是一個選項(不允許跨域的ajax調用) –

2

我做了一個例子,你在這裏:http://jsfiddle.net/KRaWU/2/

我使用jQuery來實現這一點,我建議你做同樣的。

// this will find a button within an iframe 
var obj = $('iframe').contents().find('.actionButton').find('input[type="submit"]'); 
// this will change the value of the button, and you can see that the text is changed. 
obj.attr('value', 'LOG ME IN'); 

您可以類比地找到一個img並更改它的src。

+0

是的,非常感謝,運作良好;) –