【发布时间】:2021-10-20 03:52:32
【问题描述】:
我有一个 html 文件,它使用 JavaScript 创建一个 eml 文件并在单击按钮时下载它。如果我尝试下载而不做任何更改,它会显示message.eml has been blocked because this type of file can harm your system
现在,如果我修改注册表中的Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\ExemptDomainFileTypePairsFromFileTypeDownloadWarnings 路径并将{"file_extension":"eml","domain":"domain.com"} 添加到其中,我可以下载并打开这个.eml 文件。但是我意识到重启后权限消失了,所以必须重新设置。我也找到了解决方案。这是为了让我的用户帐户成为密钥的所有者并给予完全控制,同时保持对该密钥的系统和其他用户的只读访问权限。然而它并不成功。但无论如何,我不想在注册表中进行更改。
有没有一种方法可以在不更改预设设置的情况下从浏览器下载 .eml 文件?
下载eml文件的代码为:
<a download="message.eml" id="downloadlink" style="display: none" ><button class="btn btn-primary">Download</button></a>
<script>
(function () {
var textFile = null,
makeTextFile = function (text) {
var data = new Blob([text], {type: 'text/plain'});
if (textFile !== null) {
window.URL.revokeObjectURL(textFile);
}
textFile = window.URL.createObjectURL(data);
return textFile;
};
var create = document.getElementById('create'),
textbox = document.getElementById('textbox');
if(create){
create.addEventListener('click', function () {
var link = document.getElementById('downloadlink');
link.href = makeTextFile(textbox.value);
link.style.display = 'inline';
}, false);
}
else{
print('no create')
}
})();
</script>
【问题讨论】:
-
您好,请问您是否有机会查看我的回答?如果有什么我可以帮助的,请告诉我。
-
嗨@YuZhou,很抱歉回复晚了。感谢您富有洞察力的回答。但是,我无权对系统进行任何永久性更改。但是,我后来意识到,我仍然可以将 .eml 文件保留在系统中,并通过右键单击显示
message.eml has been blocked because this type of file can harm your system的弹出窗口在 Outlook 中打开它。 -
是的,即使弹出窗口,您仍然可以手动点击下载文件。
标签: javascript html microsoft-edge eml