我正在使用Stack Overflow上另一篇文章的代码。打印页面后无法重定向
How to I redirect to another page *after* printing document?
页给了我一个解决方案,写
window.location.href = "";
的window.print();
方法之后被写入。所以我做了。以下是我的代码
$('.start-printing').click(function() {
event.preventDefault();
window.print();
var url = window.location.href;
var formId = url.split('/')[4];
var newPage = "";
if (url.split('/')[3] == 'form') {
newPage = 'form_2';
} else if (url.split('/')[3] == 'form') {
newPage = 'form_2';
} else if (url.split('/')[3] == 'form_2') {
newPage = 'form_3';
} else if (url.split('/')[3] == 'form_3') {
newPage = 'form_4';
} else if (url.split('/')[3] == 'form_4') {
newPage = 'form_5';
}
url = url + newPage + formId;
});
我正在使用锚标签来完成这项工作。但我阻止了它的默认行为。你可以在第一行看到。
下面是HTML
<a href="~/#startPrinting" class="start-printing">START PRINTING</a>
善有善报就是,它确实让我打印文档时,我一下就可以了。我可以看到Chrome的打印弹出窗口,然后点击打印按钮。但之后,它确实不会将我重定向到任何地方。
我已经试过在控制台中观察并试图指出问题所在。但我无法找到问题。
我也正在根据页面的当前URL将逻辑重定向到表单的下一页。
这里有什么错误?
即使在改变锚标记,一个span元素。它仍然不起作用! –
尝试按原样留下锚标记,但只需将“window.location”代码添加到点击函数的最后。因此,单击链接时,默认行为被event.preventDefault()禁止,这非常好,然后通过window.print()发生打印任务。在此之后,你开始建立新的URL,它应该被传递给“window.location”。 window.location = url; – lux
我正在尝试。对于window.location,我有这个值'urlSplit [2] +'/'+ newPage +'/'+ formId',但它似乎没有激活。任何猜测? –