Change iframe src

Change iframe src

本文关键字:src iframe Change      更新时间:2023-09-26

例如,我在index.html:中有一些链接

<a href="message.html">Go to message page</a>

在另一个页面中,iframe.html我有一个iframe:

<iframe id="iframe" src="profile.html" frameborder="0" scrolling="no"></iframe>

可以这样做吗?当我点击"转到消息页面"链接时,它会将我重定向到iframe.html并将iframe-src更改为message.html?

一个简单的解决方案:

你在index.html中的链接应该是这样的:

<a href="iframe.html?message.html">Go to message page</a>

iframe.html中执行以下操作:

$(function () {
    var url = window.location.href;
    var QueryStr = url.split('?')[1];    
    $('#iframe').attr('src', QueryStr);
});

希望这将是你的答案。谢谢

查看演示

参见页面:

  • 配置文件页面:http://jsfiddle.net/akhurshid/8NfMy/
  • 消息页面:http://jsfiddle.net/akhurshid/V3Qjp/
  • Iframe页面:http://jsfiddle.net/akhurshid/YdXKK/
  • Main(index)页码:http://jsfiddle.net/akhurshid/n7wNj/

以类似的查询字符串发送目标页面

  $('a[href="message.html"]').click(function (e) {
        e.preventDefault()
        window.location = 'iframe.html?src="message.html"';
  })

在iframe.html上执行此

$(function () {
    $('#iframe').attr('src', getParameterByName('src'));
});
function getParameterByName(name)
{
  name = name.replace(/['[]/, "'''[").replace(/[']]/, "''']");
  var regexS = "[''?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.search);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/'+/g, " "));
}

假设您有一个id为iframeid的iframe,那么

document.getElementById("iframeid").src = "new/address/here";

如果您真的想在客户端进行重定向。。

在您的message.html文件中,放入以下内容:

<script type="text/javascript">
 window.location = "iframe.html"
</script>

然后添加您的iframe.html:

document.getElementById("iframe").src = "message.html";

还没有测试过,但您所说的步骤可能会导致重定向的无限循环。

您可以像这样更改链接标签

<a href="iframe.html?ifsrc=message.html">Go to message page</a> 

并且在iframe.html页面onload函数中编写这个脚本

//---------------- within head tag----------of iframe.html--------
    function GET() {
       var data = [];
        for(x = 0; x < arguments.length; ++x)
                data.push(location.href.match(new RegExp("/'?".concat(arguments[x],"=","([^'n&]*)")))[1])
                return data;
        }
        //--- on iframe.html onload function
    function iframeOnload(){
    document.getElementById("iframe").src =  GET("id")[0];
    }
//---------------- within head tag----------of iframe.html--------