html使用javascript将参数传递给帧

时间:2013-07-15 07:29:37

标签: javascript html

我需要一些帮助,将参数从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>
  3. 我需要构建一个网页,在两个框架中打开两个网址。 为了做到这一点,我想将参数传递给我有的两个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新手。

    谢谢,

    帕卡。

2 个答案:

答案 0 :(得分:-1)

只需将src的{​​{1}}空/放在HTML中,然后将脚本添加到frame页面的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'; } id不同,则需要这样做:

242#tab1

如果设置window.frames['frame1'].frameElement.src = 'http://myapp#tab1?id=' + vars.var1; 的{​​{1}}不适合您,您可以在src中设置frameElement的位置:

window

答案 1 :(得分:-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>