nginx window.open 404
时间: 2023-10-15 19:28:06 浏览: 137
根据提供的引用资料,当使用window.open打开一个新窗口时,有时会遇到404错误。这个问题可能与浏览器的安全机制有关,浏览器会将用户在页面上的操作视为非法操作,并在一段时间内屏蔽window.open。根据引用中提供的代码,可以封装一个函数来处理这个问题。该函数会在用户操作页面4.5秒后,如果接口请求没有完成,就先执行window.open,然后在接口请求完成后替换新窗口的URL来完成文件下载。
然而,如果在4.5秒内接口请求已经完成,函数会直接执行window.open。这样可以避免window.open被屏蔽的问题。请注意,这个函数是通过设置一个定时器来控制执行的时机。
关于nginx和window.open的404错误,引用中提到了一个解决方法,即使用Cookie来存储token并在新打开的页面中获取。这种方法需要在同一个域名下使用Cookie,如果出现跨域情况,则需要通过配置代理转发来解决。
另外,引用中也提到了另一种方法,即在跳转链接后面拼接token,然后在新打开的页面中从链接中获取token并存储在请求头部。这种方法直接在URL后面拼接参数,不会出现跨域情况。但是需要注意的是,这种方法只能在页面中获取token,无法在请求拦截器中获取。
综上所述,要解决nginx和window.open的404错误,可以尝试使用上述两种方法之一来处理token的传递。如果可以在同一个域名下使用Cookie,则可以选择使用Cookie来存储和获取token。如果出现跨域情况,则可以尝试在URL后面拼接token的方式来传递token。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [window.open无法打开新窗口](https://blog.csdn.net/a986436517/article/details/118631124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [iframe/window.open/a三种标签打开新页面或新窗口设置请求头;实现免密登录](https://blog.csdn.net/weixin_42342065/article/details/127420783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文