我注意到一个奇怪的警告信息,当使用谷歌chrome检查器(F12)查看下载的资源:

注意显示临时标题

我发现一些可能相关的东西,网络面板:添加临时请求头的警告,但我不能完全理解它。相关问题可以发现Chrome块请求以及XMLHttpRequest无法加载。未加载的资源显示警告:显示临时标头。

与第一个问题类似,我的资源被阻塞了,但后来自动加载了相同的资源。不像第二个问题,我不想解决任何问题;我想知道这条信息是什么意思以及我为什么收到它。


当前回答

对于chrome v72+什么为我解决了它只是这个:

转到chrome://flags/并禁用这3个标志

禁用站点隔离 启用网络服务 运行进程内网络服务

或者你可以从命令行执行:

chrome --disable-site-isolation-trials --disable-features=NetworkService,NetworkServiceInProcess

为什么会发生这种情况?

谷歌似乎正在将他们的Chromium引擎重构为模块化结构,其中不同的服务将被分离为独立的模块和进程。他们把这个过程称为服务化。网络服务是第一步,接下来是Ui服务、身份服务和设备服务。谷歌提供Chromium项目站点的官方信息。

改变这一点危险吗?

一个例子是网络:一旦我们有了一个网络服务,我们可以选择在进程外运行以获得更好的稳定性/安全性,或者在资源受限时在进程内运行。源

其他回答

这种情况(仅针对跨源请求)也可能发生,因为有一种名为站点隔离的新功能

本页详细介绍了问题和解决方案。也就是去chrome://flags/#site-isolation-trial-opt-out,把这个设置改为“Opt-out”,然后重新加载chrome。

这是一个众所周知的问题。然而,该页面说它在chrome 68中是固定的,但我正在运行chrome 68,我仍然有这个问题。

当我试图在弹出窗口中打印页面时,我得到了这个错误。打印对话框显示,它仍然在弹出窗口中等待我的接受或取消打印,而在母版页也在后台等待,显示消息警告临时标题显示时,我试图单击另一个链接。

对我来说,解决办法就是把窗户拆了。print ();它在弹出窗口的<body>上执行的脚本,以防止打印对话框。

这发生在我身上,当我有一个下载链接,点击它后,我也试图用jquery捕捉点击,并发送一个ajax请求。问题是,当你点击下载链接时,你正在离开页面,即使它看起来不是这样。如果没有文件传输,您将看到所请求的页面。所以我设置了一个target="_blank"来防止这个问题。

在你的代码中使用以下代码:

header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');

这对我很有用。

只是说说我的意见。我正在使用CORS请求和一个完全RESTful的Web服务编写一个Web应用程序。我发现chrome会抛出这个错误时,我有一个无手异常或PHP错误抛出。以防其他人遇到同样的问题。我发现当这种情况发生时,我可以启动Chrome应用程序“邮差-休息客户端”,并运行完全相同的请求,但在Chrome应用程序中,我实际上会得到被抛出的PHP错误,而不是这种非描述性错误。