我对角度和前端技术非常陌生。我有一个很大的现有应用程序。我们正在将其转换为角度。因此,我们将Angle作为主要应用程序,并将旧应用程序加载到iFrame中。
当用户点击www.xyz.com/dashboard时,我的角度应用程序运行。该URL在我的浏览器中从未更改,并且旧的应用程序内容已加载到iFrame中。当用户从一页导航到另一页时,iFrame源URL会更改。
现在,当用户右键单击iFrame中的任何链接,然后单击以在新标签页中打开时,应用程序页面将在新标签页中打开,但它会加载旧网址,例如www.xyz.com/oldApp/clicked/page/
我想做的是,如果用户在iFreame(旧应用)中打开任何链接,则应该在新标签页中打开页面,但在浏览器中使用当前URL(www.xyz.com/dashboard)。
答案 0 :(得分:0)
我得到了答案。它检查URL是否正在iframe或父窗口中加载。如果它是父窗口,则将其重定向到角度URL。而且角度URL知道需要在框架中加载哪个页面,而该页面是lastVistitedPage
var iFrameDetection = (window === window.parent) ? false : true;
if(!iFrameDetection) {
setCookie("lastVistitedPage", location, "3");
var newUrl = window.location.origin;
newUrl = newUrl.replace("8080", "4200");
window.location.href = newUrl + "/dashboard";
}else {
$(window).on( 'hashchange', function( e ) {
postMessageForDocTitle();
});
postMessageForDocTitle();
}
}