单击元素时重新加载 iframe src

Reload iframe src when clicked on an a element

本文关键字:加载 iframe src 元素 新加载 单击      更新时间:2023-09-26
当用户点击iframe src时,是否可以将

iframe src替换为元素href属性?

我有这个代码

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

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

确实有可能。下面是此类链接的示例:

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

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

更新的小提琴。

为了更加灵活,你可以有这样的代码,尽管这将使所有锚点以相同的方式运行:

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;
            }
        }
    }
};

如果我理解正确,我认为您要做的是检测页面何时在iframe内更改,并从该iframesrc 属性中获取新页面的 URL。

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