2012-04-25 28 views
0

我試圖從父窗口上單擊事件調用子窗口的功能。它不適用於Safari和Chrome,但它正在使用Firefox。我使用此代碼從父窗口按鈕事件調用子窗口的功能從父窗口調用子窗口的功能單擊事件不工作Safari和鉻

var iframeElem = document.getElementById("iframe"); 
iframeElem.contentWindow.muteVideoSound(); 

靜音窗口是在加載到iframe中的子窗口上的功能。

回答

0

您是否試圖從父窗口調用iframe中的函數?

它可以這樣做:

main_window.html

<!DOCTYPE html> 
<html> 
<head> 
<title>main window</title> 
<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
<script> 
$(document).ready(function() { 
    $("a#update_text_link").click(function(event) { 
     event.preventDefault(); 
     $("iframe#iframe_id")[0].contentWindow.update_text(); // run the function 
    }); 
}); 
</script> 
</head> 
<body> 
<p><a href="#" id="update_text_link">Update iframe text</a></p> 
<iframe src="iframe.html" id="iframe_id"></iframe> 
</body> 
</html> 

Iframe.html的

<!DOCTYPE html> 
<html> 
<head> 
<title>iframe</title> 
<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
<script> 
function update_text() { 
    $("h1").fadeOut(function() { 
     $(this).text("Some updated text.").fadeIn(); 
    }); 
} 
</script> 
</head> 
<body> 
<h1>Some text.</h1> 
</body> 
</html> 

然而,這不會在某些瀏覽器工作(如Chrome)如果您從本地文件系統加載網頁。所以你需要把這個例子放在一個Web服務器上,然後嘗試在這樣的瀏覽器中打開它。

另外,如果你需要對這個主題的更多信息(包括舊版瀏覽器的支持),您可以閱讀一些回答類似的問題在這裏:

Invoking JavaScript code in an iframe from the parent page

相關問題