Search code examples
jqueryclickframeframeset

Jquery and frame click event


I want to make an auto-click event for frame 1 after 4 seconds when link.php is loaded. My code for Link.php is

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Source</title>
<script type='text/javascript' src="js/jquery-1.5.2.min.js"></script>
<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){
$(function() {
    $('[alt="Skip"]').click(function(){});
    setTimeout(function(){$('[alt="Skip"]').trigger('click');}, 4e3);
});
});//]]>  
</script>
</head>
<frameset rows="200px,*" style="width:100%">
        <frame src="skip.php" frameborder="0" name="frame1" />
        <frame src="http://xyz.com" frameborder="0" />
</frameset><noframes></noframes>
</body>
</html>

code inside skip.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<a href="http://www.example.com/"><img src="images/skip.png" border="0" alt="Skip"></a>
</body>
</html>

The javascript code is working when its pasted inside skip.php but I want to work it inside link.php


Solution

  • The working script is

    $(document).ready(function(){
    $($('frame[name="frame1"]')[0].contentWindow).load(function() {
    var documentOfFrame = $('frame[name="frame1"]')[0].contentDocument;
    
       $('[alt="Skip"]',documentOfFrame).click(function(){});
       setTimeout(function(){$('[alt="Skip"]',documentOfFrame).trigger('click');}, 4e3);
    });
    });