关于火狐浏览器下打印默认文件名不等于title的问题?

请教个问题。在实际开发过程中,使用vue+element ui创建的页面用window.print()去打印。设置了document.title来设置默认文件名。在其他浏览器下都是正常的,但是火狐浏览器下,页面使用了el-table后,这个设置就无效了,此时默认文件名是url中的参数构成的,请问有什么办法解决吗?el-table的表头格式自定义了。

img

在火狐浏览器下,打印的默认文件名不等于title的问题,可能是因为火狐浏览器默认将页面的标题与文件名分别处理。为了解决这个问题,您可以尝试以下方法:

自定义页面标题和文件名

在打印时,使用JS动态修改页面的标题和文件名,确保它们是相同的。例如:

document.title = "自定义标题";
let filename = "自定义文件名";


这样,在打印时就能够正确地显示自定义的标题和文件名了。

使用HTML5的download属性

将下载链接的download属性设置为所需的文件名,这样就可以在所有浏览器中都正确地显示默认文件名。例如:


<a href="path/to/file.pdf" download="自定义文件名.pdf">下载文件</a>

如果您使用的是Vue和Element UI,可以将下载链接作为一个组件来实现。

使用第三方库

您也可以使用一些第三方库来解决这个问题。例如,FileSaver.js是一个流行的JavaScript库,它提供了一种简单的方法来从浏览器中下载文件,可以使用它来实现自定义的默认文件名。