Javascript 如何使用js自动下载PDF?
我的场景是自动下载PDF文件,然后用户填充它,当点击PDF中的提交按钮时,它连接到Javaservlet并保存在DB中Javascript 如何使用js自动下载PDF?,javascript,jquery,pdf,plugins,google-chrome-extension,Javascript,Jquery,Pdf,Plugins,Google Chrome Extension,我的场景是自动下载PDF文件,然后用户填充它,当点击PDF中的提交按钮时,它连接到Javaservlet并保存在DB中 1 - User click on Button 2 - JavaScript code run and PDF file download automatically 3 - open file using JavaScript automatically 4 - user fills & press submit 5 - after submit servlet c
1 - User click on Button
2 - JavaScript code run and PDF file download automatically
3 - open file using JavaScript automatically
4 - user fills & press submit
5 - after submit servlet code run and save data in db
在我的申请中,只缺少第二点。请提供如何使用JavaScript与扩展交互以自动下载文件的代码。
我只想下载这个文件
<script language="javascript">
window.location.href = '<?php echo $filepath; ?>';
</script
window.location.href='';
使用
var link=document.createElement('a');
link.href=url;
link.download='file.pdf';
link.dispatchEvent(新建MouseEvent('click'));
也可以在新窗口中打开pdf链接,让浏览器处理其余内容:
window.open(pdfUrl, '_blank');
或:
请试试这个
(函数($){
$(文档).ready(函数(){
功能验证电子邮件(电子邮件){
常数re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\“+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.++]124;([a-zA Z-0-9]+-Z].-/];
返回重新测试(电子邮件);
}
如果($('.submitclass').length){
$('.submitclass')。单击(函数(){
$email_id=$('.custom-email-field').val();
if(validateEmail($email\u id)){
var url=$(this.attr('pdf_url');
var link=document.createElement('a');
link.href=url;
link.download=url.split(“/”).pop();
link.dispatchEvent(新建MouseEvent('click'));
}
});
}
});
}(jQuery))代码>
提交
来源:document.location='url of pdf'
请更具体一些。您只需要@JaromandaX上面所示的方法,还是更具体一点。我尝试了以下方法:window.location.href=file:///C:/Users/EHSAAN/Desktop/chrome%20extension/practice/abc.pdf';
但它会打开文件not download itwindow.location.href告诉文件的url not download filesorry,我的意思是说:应该是pdf文件的完全限定url,如下所示:window.location.href=''我给出了完整的路径。我不明白你说什么?请详细说明,完整路径意味着,若你们在浏览器地址栏中输入pdf的直接url,你们就可以访问它。正确的?所以完整的url必须存在于PHP的$filepath变量中。这很好。非常感谢。我们可以指定下载文件的路径吗??chrome不要求路径,而是使用javascript或HTML@EhsaanIsrar我们不能。浏览器通常使用下载文件的用户设置。非常感谢。您能告诉我如何在xhtml中自动下载吗?我正在开发一个基于java的框架liferay portlet,其中的视图是使用xhtml和primefaces设计的?有没有办法在xhtml中自动下载this@EhsaanIsrar你可以把答案标记为接受,不是吗?我不知道“在xhtml中自动”是什么意思。问题是关于javascript的,它应该可以正常工作。可以在正文末尾添加脚本标记etc@minj谢谢,这是一个完美的解决方案,但我有一个疑问,我们能否在文件下载时设置文件的下载时间。这将在新窗口中打开pdf文件,有什么方法可以直接下载吗?虽然新窗口会立即打开和关闭,但这也会产生不好的用户体验
window.open(pdfUrl);
/* Helper function */
function download_file(fileURL, fileName) {
// for non-IE
if (!window.ActiveXObject) {
var save = document.createElement('a');
save.href = fileURL;
save.target = '_blank';
var filename = fileURL.substring(fileURL.lastIndexOf('/')+1);
save.download = fileName || filename;
if ( navigator.userAgent.toLowerCase().match(/(ipad|iphone|safari)/) && navigator.userAgent.search("Chrome") < 0) {
document.location = save.href;
// window event not working here
}else{
var evt = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': false
});
save.dispatchEvent(evt);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}
}
// for IE < 11
else if ( !! window.ActiveXObject && document.execCommand) {
var _window = window.open(fileURL, '_blank');
_window.document.close();
_window.document.execCommand('SaveAs', true, fileName || fileURL)
_window.close();
}
}
download_file(fileURL, fileName); //call function