jQuery window.open() 不允许在 Chrome 中加载本地资源

Posted

技术标签:

【中文标题】jQuery window.open() 不允许在 Chrome 中加载本地资源【英文标题】:JQuery window.open() Not allowed to load local resource in Chrome 【发布时间】:2020-10-28 15:00:38 【问题描述】:

单击按钮后,我正在尝试加载位于共享网络路径中的 doc 文件,这在 InterExplorer 中运行良好,但在 Chrome 中我收到错误“不允许加载本地资源”

windows.open('file://userguide/oracle/training.docx',"_blank")

听说 Chrome 不允许加载本地资源,我们有没有其他方法可以加载 .docx 文件 upn 按钮单击?

这是在 ASP.NET MVC Razor 视图中。

【问题讨论】:

【参考方案1】:

这是现代网络浏览器不推荐使用的东西之一。如果您客观地看待它,那么允许前端脚本仅访问您的文件系统是一个安全问题。

另一种方法是让用户从文件选择器中选择文件,然后您将获得内容并可以使用它打开一个窗口

编辑:语法

【讨论】:

【参考方案2】:

open() 方法会打开一个新的浏览器窗口或新选项卡,具体取决于您的浏览器设置和参数值。您可以使用此方法查看 pdf 文件,但 .docx 不是这种情况。如果您想要查看 .docx 文件,请使用 google docs 等工具,或者您可以将 word 文件另存为 .html(但某些功能会丢失),然后在 tinymce 等 html 编辑器中加载 html 文件

【讨论】:

感谢您的回答,但我的表单将被许多最终用户使用,我无法向他们推荐所有这些内容。 我假设您想显示他们上传到您网站上的用户 .docx 文件。该建议基于上下文。提供的建议不应该由最终用户完成,它应该在后端完成。例如 .docx 到 HTML 等。

以上是关于jQuery window.open() 不允许在 Chrome 中加载本地资源的主要内容,如果未能解决你的问题,请参考以下文章

双屏扩展展示,如何用JavaScript或jquery或其他控件等,实现window.open新窗口在扩展屏幕显示?谢谢

在 window.open 函数 jQuery 中添加 URL 前缀

jquery 打开页面window.location和window.open的区别

window.open 新窗口的高度设置不起作用,宽度可以改变

IE浏览器在弹出窗口时提示:不支持此接口 window.open()方法是啥原因,以前用得挺好的

window.open打开网址被拦截