2011-11-21 81 views
0

標題說明了一切。我正在使用iframe,我知道的唯一東西就是它的src屬性的一部分。到現在爲止,我可以通過自己的(已知)ID達到目標元素(錨):如何點擊動態加載的iframe中的按鈕

var f = $('iframe[src^="url"]', newTabBrowser.contentDocument); 
if (! f.length) 
    return; 
var b = f.contents().find('#button'); 
if (! b.length) 
    return; 

在這一點上我有所需的固定元素融入jQuery的變量b,但我不能點擊它。錨是這樣的:

<a href="javascript:void(0);" id="button" role="button" tabindex="0"></a> 

我曾嘗試:

b.click(); 

和:

simulateClick(b); 

function simulateClick(elm) { 
    var evt = document.createEvent("MouseEvents"); 
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
    var canceled = !elm.dispatchEvent(evt); 
    if(canceled) { 
     return false; 
    } else { 
     return true; 
    } 
} 

作品都沒有。任何想法如何進行或其他技術嘗試?

OBS:這是FF插件的一部分。這就是爲什麼我使用newTabBrowser.contentDocument

回答

0

這是否對你的工作:

 
$(document).ready(function() { 
      var frame = $('#iframeID').get(0).contentDocument; 
      $('#button', frame).click(function() { 
       alert("Clicked me..!"); 
      }); 

     }); 

希望它可以幫助在某種意義上。

+0

你的代碼綁定了一個點擊事件,我說的是觸發點擊事件。應該是'$('#button',frame).click()'。在任何情況下,我的問題是由於跨域的限制,違反[http://en.wikipedia.org/wiki/Same_origin_policy](同源起源政策)所以你的貢獻是好的,我接受它,因爲... –