Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery将页面重定向到iframe_Javascript_Jquery_Html_Css_Iframe - Fatal编程技术网

Javascript 如何使用jQuery将页面重定向到iframe

Javascript 如何使用jQuery将页面重定向到iframe,javascript,jquery,html,css,iframe,Javascript,Jquery,Html,Css,Iframe,在我的网站上,我有一个jQuery脚本,它在页面主体中淡出,然后当用户单击相对链接时,主体淡出并将用户重定向到新页面,然后脚本再次启动 我的同事建议我最好将主要内容放在iframe中,以便在更改页面时停止刷新整个身体,但问题是,当用户单击相对链接时,iframe会淡出,而不是针对iframe的新页面,它只是打开页面 我该如何解决这个问题?我认为错误发生在$(“body”)行之后 $(文档).ready(函数(){ $(“body”).css(“display”、“none”); $(“正文”)

在我的网站上,我有一个jQuery脚本,它在页面主体中淡出,然后当用户单击相对链接时,主体淡出并将用户重定向到新页面,然后脚本再次启动

我的同事建议我最好将主要内容放在iframe中,以便在更改页面时停止刷新整个身体,但问题是,当用户单击相对链接时,iframe会淡出,而不是针对iframe的新页面,它只是打开页面

我该如何解决这个问题?我认为错误发生在
$(“body”)行之后


$(文档).ready(函数(){
$(“body”).css(“display”、“none”);
$(“正文”)。fadeIn(2000年);
$(“.transition”)。单击(函数(事件){
event.preventDefault();
linkLocation=this.href;
$(“iframe”).fadeOut(1000页);
});
函数重定向页面(){
window.location=linkLocation;
}
});

使用
document.getElementById(“iframe”).src
更改iframe的src属性,并将其设置为单击的链接href

您还应该使用
$(this.attr(“href”)


$(文档).ready(函数(){
$(“body”).css(“display”、“none”);
$(“正文”)。fadeIn(2000年);
$(“.transition”)。单击(函数(事件){
event.preventDefault();
linkLocation=$(this.attr(“href”);
$(“iframe”).fadeOut(1000,重定向页面(链接位置));
});
功能重定向页面(url){
document.getElementById(“iframe”).src=url;
}
});

您不能更改iframe窗口的位置,因为很多时候它是不允许的。由于安全原因 有些网站将X-Frame-Options设置为SameOrgin。你可以测试它,只需更改即可

//your syntax is wrong here see below for correct
window.location=linkLocation

window.frames['yourframeName'].location=linkLocation

的链接
href
http://www.google.com

现在在控制台中查看错误

因此,您的语法是错误的—您没有更改iframe的位置—您正在更改包含目标iframe的主页(窗口)的位置。因此,完成工作的纠正措施是

function redirectPage() {
        $('iframe').attr('src',linkLocation);
        $('iframe').fadeIn()
    }

为什么不为此使用separate div(sections)?把你需要的所有东西都放在一个页面上,按需显示/隐藏我刚试过,你的代码运行良好,只要点击相关链接,我就会在iframe中得到一个新页面。在iframe中打开的内容不包含链接,只包含文本。所有相关链接都在父页面上。如果你做了我所做的并且成功了,我必须回去再试一次。好的,你的建议成功了。。。某种程度上。我现在可以将iframe的源代码更改为新页面,但现在当我单击另一个相对链接时,iframe的源代码保持不变。编辑-我找到了原因。我正在单击指向保存iframe的页面的链接,因此脚本被卡住了。出于测试目的,我将href改为google,脚本运行良好!在接受您的解决方案之前,我将在我的实际站点上验证您的答案。
//your syntax is wrong here see below for correct
//correct way to change the location of iframe window
function redirectPage() {
        $('iframe').attr('src',linkLocation);
        $('iframe').fadeIn()
    }