我的网站使用iframe加载div元素内的内容。 我的问题是当页面刷新时它会重定向到主页面而不是当前页面。
以下是代码的一部分。
<a href="promotion.jsp">Promotion</a>
这是我使用的javascript函数。
$(document).ready(function(){
var url;
$('a').click(function(e){
e.preventDefault();
url = $(this).attr('href');
if(undefined != url){
window.frames["page-wrapper"].src = url;
clickFront();
}
});
$("button").click(function() {
checkUrlandId(url,this.id);
});
});
clickFront()
是启用和禁用某些顶级菜单栏按钮功能的功能。
所以当我点击菜单项(Approvals)页面改变了。在该页面刷新后,它将重定向到主页面而不是当前页面。
这是两个截图。第一个是在点击菜单项之前,第二个是在点击菜单项之后。
点击菜单项后,网址不会改变。
我读过我们可以使用cookies或javascript localstorage来保存网址吗?有人可以帮助我......我是js的新手。
答案 0 :(得分:0)
我希望window.frames["page-wrapper"].src = url;
成为
window.frames["page-wrapper"].location = url;
反正。如果您需要更改iFrame以恢复刷新和书签,则需要在页面中使用哈希:
$(function(){
var url = location.hash?decodeURIComponent(hash.substring(1)):"";
if (url) window.frames["page-wrapper"].location = url;
$('a').click(function(e){
e.preventDefault();
url = $(this).attr('href');
if(undefined != url){
location.hash=encodeURIComponent(url);
window.frames["page-wrapper"].location = url;
clickFront();
}
});
});
如果网址是外部网址,则确实需要定位。
localStorage的
$(function(){
var url = localStorage.getItem("url");
if (url) window.frames["page-wrapper"].location = url;
$('a').click(function(e){
e.preventDefault();
url = $(this).attr('href');
if(undefined != url){
window.frames["page-wrapper"].location = url;
localStorage.setItem("url",url);
clickFront();
}
});
});
答案 1 :(得分:0)
查看下面的示例,一切都按预期工作
var anchors = document.querySelectorAll('a');
Array.prototype.forEach.call(anchors, function(a) {
a.onclick = function(e) {
e.preventDefault();
window.frames.frame1.src = a.getAttribute('href');
}
});
<ul>
<li>
<a href="http://stackoverflow.com">Stackoverflow main page</a>
</li>
<li>
<a href="http://stackoverflow.com/users/2308005/medet-tleukabiluly?tab=profile">My profile</a>
</li>
<li>
<a href="http://stackoverflow.com/questions/41629581/node-js-obtain-access-token">Question: Node.js obtain access token</a>
</li>
</ul>
<hr />
<iframe id="frame1" width="500" height="200" src="http://stackoverflow.com/questions/41629578/when-iframe-page-refreshes-it-redirect-to-the-same-page-not-to-the-main-page"></iframe>