如何将div连接到iframe中用于搜索网站的数据网址

时间:2014-03-23 17:49:29

标签: javascript css html iframe

有没有办法可以将div连接到也连接到iframe的数据网址。我所知道的是用户在搜索栏中进行搜索并在iframe内查询搜索内容,我希望它能够在网站中移动而不是在我自己的网站中移动。 ; d喜欢用户能够点击iframe,并将浏览器重定向到iframe中查询的页面。我通过创建一个覆盖iframe顶部的不可见div来尝试这个,然后使用变量将它们重定向到div中输入的页面,但是无法连接到src或数据url的变量是还有我可以使用的另一个变量吗?

(基本上我试图做同样的事情,我用js和iframe做div)

这是HTML / JS代码:

<title>Test</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">        

<head>
    <link rel="stylesheet" type="text/css" href="Index.css">
</head>

<body>

        <!--The Search bar as well-->
    <form onsubmit="return virtualSubmit(this)";>
        <input name="searchtext" type="text" />
        <input type="image" src="Searchbutton.png" alt="Search Button" height="20" width="20"/>
    </form>

    <div class="holder">
        <iframe class="frame"
            src="http://www.google.com/custom"
            data-url="http://www.google.com/custom?q="
            width="250"
            height="600" onmouseover="width=400" onmouseout="width=250">
        </iframe>
        <div class="sampleDiv">
            <a class="invisibleDiv" href="http://www.google.com/custom?q="></a>
        </div>
    </div>

    <div class="holder">
        <iframe class="frame"
            src="http://en.wikipedia.org/wiki"
            data-url="http://en.wikipedia.org/wiki/"
            width="250"
            height="600" onmouseover="width=400" onmouseout="width=250">
        </iframe>
        <div class="sampleDiv">
            <a class="invisibleDiv" href="http://en.wikipedia.org/wiki/"></a>
        </div>
    </div>

    <div class="holder">
        <iframe class="frame"
            src="http://m.dictionary.com/definition"
            data-url="http://m.dictionary.com/definition/"
            width="250"
            height="600" onmouseover="width=400" onmouseout="width=250">
        </iframe>
        <div class="sampleDiv">
            <a class="invisibleDiv" href="http://m.dictionary.com/definition" data-url="http://m.dictionary.com/definition/"></a>
        </div>
    </div>

    <script>
    function virtualSubmit(form){
        var text = form.searchtext.value;
        var targets = document.getElementsByTagName('iframe'),
            items = targets.length;
        for(var i = 0; i<items; i++){
            var target = targets[i],
                url = target.getAttribute('data-url');
            target.href = url + text;
            target.src = url + text;
        }

        return false;
    }
    </script>

</body>

这是CSS代码:

    body {
    color: purple;
    background-color: #663300;
}

.holder {
    width: 400px;
    height:300px;
    position:relative;
}

.frame{
    width: 100%;
    height: 100%;
}

.sampleDiv
{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:transparent;
}

.invisibleDiv
{
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
}

a {
    display: block;
}

1 个答案:

答案 0 :(得分:0)

要将浏览器重定向到iframe中点击的链接,请使用parent(iframe所在的页面对象)...所以在iframe代码中,您可以使用类似的内容:

<a onclick="redirect()">click</a>
<script>
  function redirect() {
    this.parent.location="http://www.acme.org";
  }
</script>
好的,现在我更好地了解你想要实现的目标。我想这是不可能的,因为你无法控制iframe的内容。它已经可能在链接等上有一个目标属性,你基本上计划拦截或覆盖它......