单击锚元素后执行操作

时间:2015-11-14 19:06:06

标签: javascript jquery html css iframe

我正在网页中加载占据整个屏幕的iframe中的另一个网页。我有2个div在彼此之上。这些div实际上是指向新url(动作)的锚点。我想要做的是点击任何一个div后,启动一个onclick事件,该事件将转到该锚点href中指定的url,然后重新加载初始index.html页面。我的班级正在研究当地的环境,教给我们一个叫做点击劫持的东西。以下是我目前的HTML。

我遇到的问题是我可以让锚点击转到我想要的网址,但后来我不再在我的index.html中了。是否可以在新窗口中打开引用的链接,在加载后关闭新窗口,然后刷新index.html页面。完成后,隐藏被点击的div,因为“第二个”div隐藏在最可点击的div后面。

<html> 
<head>
</head>
<body>
    <center>
<!-- Two anchor divs that are clickable and on top of each other -->  
        <div id="secondDiv">
            <a href="http://www.2ndURL.com" id="m2">
                <div id="2" style="position:absolute;top:195px;left:10px;width:10000px;height:200px;">
                    <iframe>
                    </iframe>
                </div>
            </a>
        </div>
        <div id="firstDiv">
            <a href="#" id="m1" onclick="myFunction(); return false;">
                <div id="1" style="position:absolute;top:195px;left:10px;width:10000px;height:200px;">
                    <iframe>
                    </iframe>
                </div>
            </a>
<!-- Main iFrame where user interacts -->
        </div>
        <iframe id="new" src="http://www.mywebpage.com" style="opacity:1.0;width:100%;height:100%;">
        </iframe> 
    </center> 
</body> 
<script>
function myFunction(){
    var newWindow = window.open("http://www.actionURL");
    newWindow.close()
    var myWindow = window.open("file:///home/seed/Desktop/index.html", "_self");

}
</script>
</script>
</html>

TLDR:

  • 在网页中加载iframe
  • 点击页面上指向新网址的锚点
  • 加载该网址,一旦加载,返回index.html(全部在一个标签中)(步骤1)
  • 隐藏已选择的锚点div - 允许第二个锚点 点击

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

看起来你可能需要&#34;假&#34; onclick如果你想在你所在的页面上进行onclick动作。您需要修改参数,但这是我使用过的代码:

    $(function() {
    // find out what our query parameters contain.
    var query = location.search;

    // isolate the position of the equal sign.
    var equalIndex = query.indexOf('=');
    // extract the image's id.
    var imageId = query.substring(equalIndex + 1);

    // click on the appropriate image.
    $('#' + imageId).click();
    });

评论解释了代码的每个步骤的执行情况。在我的情况下,我需要加载页面,然后使用唯一的图像ID强制onclick。在您的情况下,您需要将它与您独特的div联系起来。我希望这有助于你开始。