簡體   English   中英

從iframe中訪問父Javascript函數?

[英]Accessing parent Javascript function from within iframe?

我正在嘗試訪問一個函數,該函數將從iframe頁面中更新位於父級中的JQuery UI進度欄。 每當有人單擊iframe頁面中的鏈接時,我都希望它更新進度條。 我一直在尋找答案,並使用“ window.parent.FunctionName()”作為給出的解決方案,但是由於某種原因,它似乎在我的情況下不起作用? 有任何想法嗎?

更新:似乎可以在Safari,Firefox中使用,但在Chrome中不起作用???

我要在父頁面中訪問的功能是:

var percentage = 0;                                                                 

$('ul li a').one('click', updateBar);                                               

function updateBar() {
    percentage += 8;                                                                
    $('.ui-progressbar-value').stop().animate({ width: percentage+"%" }, 500)       
    $('.middle').progressbar('option','value', percentage);                         

    if(percentage > 100) {                                                  
        $('ui-progressbar-value').stop().animate({ width: "100%"}, 500);            
    }
}

我從iframe頁面調用的JQuery調用是:

$('#sidenav ul li a').one('click', window.parent.updateBar); 

嘗試

$('#sidenav ul li a').one('click',function(){

 window.parent.updateBar();

}); 
  1. 確保jQuery也嵌入框架內
  2. 您的方法應該可以使用,但是函數執行的上下文是父窗口。 如果您想使用框架作為上下文執行函數,請提供上下文作為參數:

 function updateBar(context) {
    percentage += 8;                                                                
    $('.ui-progressbar-value',context).stop().animate({ width: percentage+"%" }, 500)       
    $('.middle',context).progressbar('option','value', percentage);                         

    if(percentage > 100) {                                                  
        $('ui-progressbar-value',context).stop().animate({ width: "100%"}, 500);            
    }
}

$('#sidenav ul li a').one('click', function(){window.parent.updateBar(document);}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM