Javascript 在iframe src上设置高度的动态参数

Javascript 在iframe src上设置高度的动态参数,javascript,jquery,Javascript,Jquery,我正在尝试获取我的页面url,以添加页面高度的参数,以便将其设置为在iframe中加载的页面上的动态高度 $(document).ready(function() { // parse params in iframe url var qs = (function(a) { if (a == "") return {}; var b = {}; for (var i = 0; i < a.length; ++i) { var p=a[i].split('='); if (

我正在尝试获取我的页面url,以添加页面高度的参数,以便将其设置为在iframe中加载的页面上的动态高度

$(document).ready(function() {
// parse params in iframe url

var qs = (function(a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i)
{
    var p=a[i].split('=');
    if (p.length != 2) continue;
    b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
    return b;
})(window.location.search.substr(1).split('&'));

// get height param
var myheight = qs["height"]
// apply css height of the iframe parent
$("#frame").css("height", myheight)
});
iframe页面代码

$(document).ready(function() {
var h = $("#tr").height();
var pathname = $(location).attr('href');
pathname = $(this) + "&height=" + h;
});
在iframe中加载的页面

$(document).ready(function() {
// parse params in iframe url

var qs = (function(a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i)
{
    var p=a[i].split('=');
    if (p.length != 2) continue;
    b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
    return b;
})(window.location.search.substr(1).split('&'));

// get height param
var myheight = qs["height"]
// apply css height of the iframe parent
$("#frame").css("height", myheight)
});
$(文档).ready(函数(){
//解析iframe url中的参数
var qs=(函数(a){
如果(a==“”)返回{};
var b={};
对于(变量i=0;i

问题是iframe页面到目前为止没有在页面加载中添加“page.html&height=800”,我正在尝试找出如何设置它,使其在不刷新的情况下实现这一点。

使用URL哈希,而不是参数

 "page.html#height=800"
document.location.hash
包含可以解析(或设置)的“height=800”


您可以在不影响页面加载的情况下更改哈希值。

使用URL哈希,而不是参数

 "page.html#height=800"
document.location.hash
包含可以解析(或设置)的“height=800”


您可以在不影响页面加载的情况下更改哈希值。

如果您试图将参数附加到URL,则应使用正确的语法:
page.html?height=800
()。在这种情况下,@Diodeus的答案提供了一个更好的解决方案。如果您试图将参数附加到URL,则应使用正确的语法:
page.html?height=800
()。在这种情况下,@Diodeus的答案提供了一个更好的解决方案。