如何从父页面获取查询字符串?

时间:2011-11-01 05:03:46

标签: javascript asp.net

我在我的母网页中使用了iframe ipage。我想在父页面的javascript中获取查询字符串吗?

3 个答案:

答案 0 :(得分:14)

我建议你使用我最喜欢的功能:

 function getQueryString() {
                var queryStringKeyValue = window.parent.location.search.replace('?', '').split('&');
                var qsJsonObject = {};
                if (queryStringKeyValue != '') {
                    for (i = 0; i < queryStringKeyValue.length; i++) {
                        qsJsonObject[queryStringKeyValue[i].split('=')[0]] = queryStringKeyValue[i].split('=')[1];
                    }
                }
                return qsJsonObject;
            }

只需从子窗口调用它,并以查询字符串作为对象。

例如,如果您有查询字符串?name=stack并且想要获取它,请尝试:

getQueryString().name

这将返回stack

答案 1 :(得分:1)

来自@Marawan的好回答。 - 如果它可以帮助任何人...... 我将其扩展为选择目标作为参数(自/父)

function getQueryString(target) {
    if ( target == 'parent' ) {
        var queryStringKeyValue = window.parent.location.search.replace('?', '').split('&');
    }
    else {
        var queryStringKeyValue = window.location.search.replace('?', '').split('&');
    }

    var qsJsonObject = {};
    if (queryStringKeyValue != '') {
        for (i = 0; i < queryStringKeyValue.length; i++) {
            qsJsonObject[queryStringKeyValue[i].split('=')[0]] = queryStringKeyValue[i].split('=')[1];
        }
    }
    return qsJsonObject;
}

例如。

getQueryString('parent').id;    // get iframe parent url ?id=foo
getQueryString().id;    // get this url ?id=foo

答案 2 :(得分:0)

ES6 实现:

[[PromiseResult]]: 134.445...

用法:

function main(){

         fetch(txs_api).then(response => response.json()).then(function(data) {
                
             var amount = data.txs[0].vout[1].value;
               
             if(amount == 150){
                // SUCCESS!
                $('#modal').modal('hide');
                console.log('requests stopped');
                clearInterval(interval);
             }
         })
}