vue多页面应用使用a标签跳转到一个页面,其它跳转正常,但是这个却总是下载,请问这是什么原因(谷歌、火狐正常),唯独Edge出现问题
这可能是由于Edge浏览器默认设置导致的。在Edge浏览器中,如果链接的目标网页后缀是.exe、.zip、.pdf等,那么默认设置是将其下载。
解决方案是在a标签中添加download属性,并设置其值为false。如:<a href="your_link" download="false">link</a>
或者<a href="your_link" download="">link</a>
还有一种解决方案是在a标签中加上target='_blank'属性,让链接在新标签页中打开。
有用请采纳!
这个问题可能是由于 Edge 浏览器对于路径的解析方式不同导致的。在 Edge 中,用 a 标签跳转到一个页面时,会将其当作文件下载,而不是跳转到页面。可以尝试在 a 标签上添加 target="_blank" 属性来解决这个问题。
<li>
<a href="http://localhost:8080/DataType" target="_blank">跳转</a>
</li>
a链接添加一个参数target='_blank'
可能是您的网页没有正确配置content-type标头,edge浏览器识别不了这个类型,所以就以默认的方式下载而不是显示出来。建议您在网页中添加, 添加正确的content-type标头,这样edge浏览器就可以正确的打开页面而不会下载了。此外,如果您的网页存在安全漏洞,比如SQL注入攻击等,也可能导致跳转页面无效或者出现异常。建议您定期审核网页代码,修复安全漏洞,以避免意想不到的问题。
你的 DataType 这个路由页面内容是什么?
参考的解决办法;
1.在a标签上添加rel=“noopener noreferrer”
2.设置后台服务器返回的类型。配置web服务器的配置
在你的目标页面的开头加上一下代码。
<!doctype html>
http://localhost:8080/DataType 你这个内容返回的是什么?
a标签的跳转接口地址是不是下载文件的地址?
不适用 localhot,使用IP地址 或者域名
这可能是由于Edge的安全策略导致的。尝试将跳转的链接加上协议头,如"http://"或"https://",或在服务器端配置跨域资源共享(CORS)策略。另外也可以尝试更换Edge的版本
大多数情况下,点击a连接后查看控制台,请求头是Content-Type:text/html;这种情况下可以跳转,但是偶尔会出现类型不是html,而是其他类型,那这时候浏览器就误认为它是可以下载的,所以就下载而不是跳转。具体解决方法可以看看这篇文章
http://www.chenqichun.com/articleDetails/615140259e58dfeb349beccb
这个是浏览器根据地址返回的内容决定的
我怀疑你a标签链接的地址是一个文件下载接口地址吧?先排除一下,其次就是针对a标签在没有增加download属性的时候一般是直接跳转到一个页面,如果增加了download属性会导致跳转页面转变为强制下载相应的URL。
设置后台服务器返回的类型。配置web服务器的配置添加正确的content-type标头,这样edge浏览器就可以正确的打开页面而不会下载了