例如,我在index.html中有一些链接:
<a href="message.html">Go to message page</a>
在其他页面中,iframe.html我有一个iframe:
<iframe id="iframe" src="profile.html" frameborder="0" scrolling="no"></iframe>
是否可以这样做,当我点击“转到消息页面”链接时,它会将我重定向到iframe.html并将iframe src更改为message.html?
答案 0 :(得分:2)
一个简单的解决方案:
index.html
中的链接应如下所示:
<a href="iframe.html?message.html">Go to message page</a>
在iframe.html
中执行以下操作:
$(function () {
var url = window.location.href;
var QueryStr = url.split('?')[1];
$('#iframe').attr('src', QueryStr);
});
希望这将是你的答案。谢谢!
参见页面:
答案 1 :(得分:1)
将查询字符串中的目标页面发送到此
$('a[href="message.html"]').click(function (e) {
e.preventDefault()
window.location = 'iframe.html?src="message.html"';
})
在iframe.html上执行此操作
$(function () {
$('#iframe').attr('src', getParameterByName('src'));
});
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
答案 2 :(得分:0)
假设你有一个id = iframeid的iframe,那么
document.getElementById("iframeid").src = "new/address/here";
答案 3 :(得分:0)
如果您真的想在客户端进行重定向..
在message.html
文件中,输入:
<script type="text/javascript">
window.location = "iframe.html"
</script>
然后添加iframe.html
:
document.getElementById("iframe").src = "message.html";
尚未对其进行测试,但您所说的步骤可能会导致重定向无限循环。
答案 4 :(得分:0)
您可以像这样更改链接标记
<a href="iframe.html?ifsrc=message.html">Go to message page</a>
并在iframe.html页面onload functin中编写此脚本
//---------------- within head tag----------of iframe.html--------
function GET() {
var data = [];
for(x = 0; x < arguments.length; ++x)
data.push(location.href.match(new RegExp("/\?".concat(arguments[x],"=","([^\n&]*)")))[1])
return data;
}
//--- on iframe.html onload function
function iframeOnload(){
document.getElementById("iframe").src = GET("id")[0];
}
//---------------- within head tag----------of iframe.html--------