【发布时间】:2019-09-26 07:28:27
【问题描述】:
我是一名 Java 开发人员,不精通前端技术,所以我希望这个问题不要太愚蠢。我在一个 html 页面上有 2 个内联脚本。
<script type="text/javascript">
function printReceipt(orderId,email) {
var printWindowSettings;
var browserUserAgent = navigator.userAgent;
if (browserUserAgent.indexOf("Chrome") > -1) {
printWindowSettings = "status=0,toolbar=0,menubar=0,height=500,width=1000,scrollbars=1";
} else {
printWindowSettings = "status=0,toolbar=0,location=0,menubar=0,height=500,width=1000,scrollbars=1,noopener=1";
}
var path = "/shop/printReceipt?orderid="+orderId;
if (email!=null)
path+="&email=" + email;
var docPrint = window.open(path, '_blank', printWindowSettings);
if (docPrint == null) console.log("window open returned null");
}
</script>
<script type="text/javascript">
bajb_backdetect.OnBack = function()
{
window.history.back=function(){
console.log("Back Button Pressed.")
document.location='/shop/shoppingCart.seam';
}
}
</script>
printReceipt() 在锚标记的onClick() 处理程序中调用。
<div class="pull-left" style="padding-bottom:20px;"><a href="#" onclick="javascript:printReceipt(apaOrder.orderId);" class="btn btn-primary-custom"><i class="fa fa-print" aria-hidden="true" style="padding-right:6px;"></i>Print Receipt</a></div>
我发现当printReceipt() 被调用时,以下脚本(用于管理后退按钮)也会被调用。所以当printReceipt()被调用时,我的浏览器会导航到/shop/shoppingCart.seam。
为什么会这样?我该如何解决这个问题?
【问题讨论】:
-
printReceipt是如何被调用的?你还没有表现出来 -
我已经更新了我的问题,谢谢。
-
尝试将“后退按钮”的事件监听器设置为
null。 -
你能告诉我那是什么样的吗?我真的不知道你在说什么,对不起。
-
你说的是哪个按钮?你是说你知道点击锚标签时调用的是什么函数,你能提供一个上下文吗?
标签: javascript