解决Safari下子页面执行history.back导致整个页面后退问题

当页面A包含子页面B,在页面B中执行history.back(-1)或history.go(-1)会引起整个页面后退,网上查询并测试后,以下代码有效解决了该问题:

function goBack(){
	//解决Safari中后退功能的兼容问题
	if (navigator.userAgent && /(iPhone|iPad|iPod|Safari)/i.test(navigator.userAgent)) {
        window.location.href = window.document.referrer;
	} else {
		window.history.back(-1);  //根据需要可使用history.go(-1);
	}
}

参考博文:http://www.cnblogs.com/qingliuyu/archive/2012/05/03/2481305.html

相关推荐