0

我需要一些帮助来将参数从 URL 传递到框架。

示例:我的网址 -http://mysite.com?var1=2&var2=3

我有两个框架应该打开这些链接-

  1. 框架1 -http://othersite.com?id=<value of var1>
  2. 框架2 -http://othersite.com?id=<value of var2>

我需要构建一个在两个框架中打开两个 url 的网页。为了做到这一点,我想将参数传递给我拥有的两个 iframe:

使用此网址打开它:http ://mysite.com?var1=242

该页面包含以下代码:

     <frame name="frame1" src="http://myapp?id=<value of var1>#tab1">

     <frame name="frame2" src="http://myapp?id=<value of var1>#tab2">

怎么做 ?将 242 的值放入每一帧的 src 中?

JS新手。

谢谢,

帕卡。

4

2 回答 2

-1

只需在 HTMLsrc中将frames 留空/输出,然后将脚本添加到页面head部分frameset

window.onload = function () {
    var n, key, vars = {},
        searchString = window.location.search;
    searchString = searchString.replace(/^\?/, '').split('&');
    for (n = 0; n < searchString.length; n++) {
        key = searchString[n].split('=');
        vars[key[0]] = key[1];
    }
    window.frames['frame1'].frameElement.src = 'http://myapp?id=' + vars.var1 + '#tab1';
    window.frames['frame2'].frameElement.src = 'http://myapp?id=' + vars.var2 + '#tab2';
}

搜索字符串也应该是 url 的最后一部分。如果你id的 s 不是 like 242#tab1,你需要这样做:

window.frames['frame1'].frameElement.src = 'http://myapp#tab1?id=' + vars.var1;

如果设置 的srcframeElement您不起作用,您可以在 中设置 的window位置frame

window.frames['frame1'].location.href = 'http://myapp#tab1?id=' + vars.var1;
于 2013-07-15T08:53:42.133 回答
-1

在 JavaScript 中解析查询字符串,然后设置src每一帧的,例如:

<script>
    var params = (function() {
        var obj = {};
        location.search.substr(1).split('&').forEach(function(eq) {
            var pair = eq.split('=');
            obj[pair[0]] = pair[1];
        });
        return obj;
    }());
    [].forEach.call(document.getElementsByTagName('frame'), function(frame,index) {
        frame.src = ['http://myapp?id=', params["var1"], '#tab1'].join('');
    });
</script>
于 2013-07-15T08:57:37.277 回答