0

如果可能的话,我想使用 jquery/javascript 并在 iframe 中获取一个 url 变量 frim

我的 iframe 链接如下所示 - 源动态变化

<iframe class="box" src="lightbox.html?img=images/lightbox/blue-shoes.jpg" scrolling="no" frameborder="0"></iframe>

然后,从 lightbox.html iframe 内部 - 我想获取 img (images/lightbox/blue-shoes.jpg) 变量并更改图像的来源

问题是 - 我不知道如何从 iframe 内部获取 iframe 源 url 变量

我试图避免使用 php

我已经将它用于类似的东西,但无法让它工作

function getUrlVars() {
var vars = {};
var parts = document.referrer.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
    vars[key] = value;
});
return vars;
}
var first = getUrlVars()["ref"];
4

2 回答 2

1

如果您在 iframe 中控制脚本,这里是一个使用 document.location.herf 而不是referrer 的示例。灯箱.html:

<html>
<head>
<script>

    function getUrlVars() {
    var vars = {};
    var parts = document.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
            vars[key] = value;
    });
    return vars;
    }
    var first = getUrlVars()["img"];
    alert(first);
    var test = function(){
        first = 'images/red.jpg'
        alert(first);
    }
</script>

</head>
<body>
    <div>Inside</div>
    <button onclick="test()">change url</button>
</body>
</html>
于 2012-12-06T17:46:55.363 回答
0

要使用 JQuery 执行此操作,请尝试此操作。

您的页面 lightbox.html 上的图像,给它广告 id 例如

<img id="ImageID" src="whatever" />

然后使用这个 JQuery 来改变 src 属性

$('#ImageID').attr('src', 'whatever');

更新

实际上,由于它是 IFrame,因此这可能行不通我相信由于相同的来源政策,您将不会被允许这样做

于 2012-12-06T17:30:49.823 回答