如何设置iframe网址以在iframe中重定向,而不是重定向到父网页

时间:2018-02-20 17:38:51

标签: javascript html url iframe

我有一个WordPress页面https://www.sitename.com/manual。在这个页面中,我有一个嵌入式HTML页面。

<iframe src="https://www.sitename/othermanual/aplication.htm"></iframe>

我要做的是从aplication.htm中的src获取<iframe>并将其作为 https://www.sitename.com/manual 有类似的东西:

https://www.sitename.com/manual?page=aplication.htm

总之,我正在尝试解析网址的aplication.htm部分,并在主网址中使用它。我已经读过可能有锚,有没有其他方法,如使用JavaScript或AngularJS?

1 个答案:

答案 0 :(得分:0)

你需要做两件事。

  1. 在iframe上添加name="foo"属性。

  2. 在锚点上放置target="foo"属性。然后,当您点击该链接时,它将定位iframe而不是整个页面。

  3. 编辑:我没有正确理解帖子,所以这是我更新的解决方案。

    $(document).ready(function ()
    {
        SetIframe();
    });
    

    此函数将所有查询字符串解析为键值对。如果你有任何简单的变量(变量但不是值),那么你需要调整它,但这应该适用于你正在做的事情。获得变量值后,只需将其加载到src属性中,然后加载iframe即可。我在iframe上添加了一个id,以便更容易定位。

    function SetIframe()
    {
        var query = window.location.search.substring(1);
        if (query.indexOf('page=') == -1)
            return;
    
        var vars = query.split('&');
        var kvp = [];
        for (var i = 0; i < vars.length; i++)
        {
            var pair = vars[i].split('=');            
            if(pair.length == 2)
                kvp[pair[0]] = pair[1];            
        }
        console.log(kvp);
    
        if (typeof kvp['page'] != 'undefined')
            $('#myFrame').attr('src', kvp['page']);
    
    }