【前端】Window.open打不开网页
雪糕K 2024-06-16 09:33:02 阅读 57
📖 背景
项目部署到生产环境以后,当我需要打开后端返回的url时,却发现打不开了,看了一下URL的开头,原来是http。由于线上是HTTPS的页面,所以加上s就可以正常打开了,但是这是为什么呢?
⭐️ 解答
这是由于现代浏览器的安全策略造成的。
许多现代浏览器都实施了一个策略,即从HTTPS页面禁止打开不安全的HTTP页面。这是因为HTTPS是安全的,而HTTP是不安全的,所以从HTTPS页面打开HTTP页面可能会导致安全问题。
例如,如果你的网站是HTTPS,并且你试图使用window.open()
打开一个HTTP链接,这可能会被浏览器阻止,因为这被视为一个安全风险。
如果你能控制你试图打开的链接,你可以尝试将其升级到HTTPS,这样就可以从HTTPS页面安全地打开它了。如果你不能控制这个链接,你可能需要考虑其他的解决方案,比如在用户点击链接时显示一个警告,告诉他们他们将要离开一个安全的网站并进入一个不安全的网站。
所以这也是为什么很多网站在你点击链接要跳转到其他页面时,会产生一个中间页面,并对你进行提醒的缘故了,就是为了能够让你的跳转行为产生在用户事件里。
🦀️ 延伸
直接打开网址没问题,通过超链接或window.open打开报错:The HTTP request is not acceptable for the requested resou-CSDN博客
window.open 打开新页面失效_window.open不打开新页面-CSDN博客
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。