我想我有一个有趣的问题,经过几天的思考和研究,我无法找到解决方案。
我正在编写一个受phpMyAdmin启发的网络应用程序,因此它使用框架来控制内容放置。因此,任何访问过的网址都将始终为index.php ..除非我使用历史API的pushState()
方法来更改网址以反映网页中正在访问的网页。
login.html
重定向到index.php
,并且会在一瞬间询问Chrome是否要我记住密码..当访问触发{{{}时,小条会消失1}}方法。这种行为不是我希望应用程序继续提交的行为。我希望用户能够在他们希望的情况下存储他们的密码(我还没有进入cookie,我还是很新)。
我已经尝试过检查我可以围绕访问的最后一页进行检查,但由于我对此类的经验而未能实现这一点......因此,如果有任何关于如何解决的想法,请更多关注这一点问题。
如果它有帮助,我当前触发此代码的代码是..
pushState()
到目前为止,此行为仅发生在Chrome上。 Firefox和IE的行为符合预期。
答案 0 :(得分:0)
避免最初的pushstate
(function($) {
var firstLoad=true;
$(window).on('load', function (){
if (firstLoad!==true)
window.parent.history.pushState(null, "index.php", "index.php");
firstLoad=false;
});
})(jQuery);
答案 1 :(得分:0)
试试这个
(function($) {
var isFirst = true;
$(window).on('load', function (evt){
if(isFirst && wasLastPage('index.html')) return;
isFirst = false;
window.parent.history.pushState(null, "index.php", "index.php");
});
function wasLastPage(pageName){
//document.referrer only works in non IE
var lastPage = (document.referrer)? document.referrer : '';
return (lastPage.indexOf(pageName) === lastPage.length - pageName.length);
}
});