我想尽可能使用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"];
答案 0 :(得分:1)
如果你控制iframe里面的脚本,这里有一个使用document.location.herf而不是referrer的例子。 lightbox.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>
答案 1 :(得分:0)
要使用JQuery执行此操作,请尝试此操作。
您的页面上的图片lightbox.html,为其提供广告ID,例如
<img id="ImageID" src="whatever" />
然后使用此JQuery更改src属性
$('#ImageID').attr('src', 'whatever');
更新
事实上这可能不会起作用,因为它是一个IFrame我相信由于same origin policy
你不会被允许这样做