单击元素时重新加载iframe src

时间:2012-06-24 09:57:29

标签: javascript iframe

当用户点击iframe src时,是否可以用元素href属性替换iframe src?

我有这段代码

http://jsfiddle.net/6Hv9P/1/

我试图让用户使用duckduckgo进行搜索,当点击结果时,它应该用href值替换iframe src。

2 个答案:

答案 0 :(得分:0)

可能确实如此。以下是此类链接的示例:

<a href="http://jsfiddle.net" onclick="document.getElementById('siframe').src=this.href; return false;">click me</a>

这将在单击链接时替换iframe源。

Updated fiddle

为了更灵活,您可以使用此类代码,但这会使所有锚点的行为方式相同:

window.onload = function() {
    var oFrame = document.getElementById('siframe');
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        var curHref = anchor.href;
        if (curHref && curHref.length > 0) {
            anchor.onclick = function() {
                oFrame.src = curHref;
                return false;
            }
        }
    }
};

答案 1 :(得分:0)

如果我理解正确,我认为你要做的就是检测iframe内页面的更改时间,并从src属性获取新页面的网址。那个iframe

不幸的是,我觉得你运气不好,因为浏览器在页面更改时不会更新src属性。除非iframe中的页面来自与父页面相同的域,否则浏览器安全性将阻止您从新页面中发现document.location.href