为什么 Chrome 会在后台进入 URL?
Why Chrome is going to URL in background?
我有一个 Java 网络应用程序,今天我睡着了一个奇怪的行为:
提交我的表单后(一个 JSP 页面)我可以看到其他两次具有空属性的调用。
public class SubmitFormAction {
private String adjacency;
private String laplacian;
private String slaplacian;
private String optiFunc;
private String caixa1;
private String ordermin;
private String ordermax;
private String minDegree;
private String maxDegree;
private String triangleFree;
private String allowDiscGraphs;
private String biptOnly;
public String execute () {
System.out.println(" 1." +adjacency+ " 2." + laplacian+ " 3." + slaplacian+ " 4." + optiFunc+ " 5." + caixa1+ " 6." + ordermin+ " 7." +
ordermax+ " 8." + minDegree+ " 9." + maxDegree+ " 10." + triangleFree+ " 11." + allowDiscGraphs+ " 12." + biptOnly);
}
}
向此操作提交表单后的输出:
1.null 2.null 3.null 4.sdfsdf 5.min 6. 7. 8. 9. 10.null 11.null 12.null
1.null 2.null 3.null 4.null 5.null 6.null 7.null 8.null 9.null 10.null 11.null 12.null
1.null 2.null 3.null 4.null 5.null 6.null 7.null 8.null 9.null 10.null 11.null 12.null
第一个输出是我的提交。另外两个是 "phantom" 调用...
在 Chrome 中测试时,我只是在 Chrome 地址栏中写入带有参数( "get" 格式)的操作 URL 来测试提交而不使用页面。
注意我没有按 Enter 键或转到 URL,只是写入并切换到 Eclipe 来检查一些东西......现在我很惊讶:在 Eclipse 中注册了一个日志,显示操作被调用,即使我不会那样做的!!!!
有些东西让 Chrome 在后台跟踪地址...
我只是将操作更改为不转到任何页面并使用 GET 请求来避免使用正在处理的 HTML 页面(我担心某些 javascript 正在这样做)但没有任何变化。
在 Firefox 和 Internet Explorer 中一切正常,所以问题不在我的代码中...
我知道...如果不在我的代码中,它在 Chrome 中,这里不是询问 Chrome 的地方...但是请帮忙!
如果您在多功能框中键入 URL 但等待按下 Enter 键,Chrome 可能会在隐藏的选项卡中预取和预呈现您的页面。在正常的网页浏览过程中,这种预测机制减少了对网络延迟的感知。 隐私 > 预测网络操作以提高页面加载性能 选项(在 显示高级设置... 下)控制此行为。
Chrome 使用其导航历史来决定何时开始预取 URL;访问 chrome://predictors
查看数据。您的 URL 可能多次以绿色突出显示,表示预测置信度高。有关详细信息,请参阅 https://www.igvita.com/posa/high-performance-networking-in-google-chrome/#omnibox。
验证 Chrome 是否确实预呈现您的页面的一种方法是在输入您的内容时查看 chrome://net-internals/#prerender
中的 Active Prerender Pages 列表URL,不按 Enter,在另一个选项卡中。
我有一个 Java 网络应用程序,今天我睡着了一个奇怪的行为:
提交我的表单后(一个 JSP 页面)我可以看到其他两次具有空属性的调用。
public class SubmitFormAction {
private String adjacency;
private String laplacian;
private String slaplacian;
private String optiFunc;
private String caixa1;
private String ordermin;
private String ordermax;
private String minDegree;
private String maxDegree;
private String triangleFree;
private String allowDiscGraphs;
private String biptOnly;
public String execute () {
System.out.println(" 1." +adjacency+ " 2." + laplacian+ " 3." + slaplacian+ " 4." + optiFunc+ " 5." + caixa1+ " 6." + ordermin+ " 7." +
ordermax+ " 8." + minDegree+ " 9." + maxDegree+ " 10." + triangleFree+ " 11." + allowDiscGraphs+ " 12." + biptOnly);
}
}
向此操作提交表单后的输出:
1.null 2.null 3.null 4.sdfsdf 5.min 6. 7. 8. 9. 10.null 11.null 12.null
1.null 2.null 3.null 4.null 5.null 6.null 7.null 8.null 9.null 10.null 11.null 12.null
1.null 2.null 3.null 4.null 5.null 6.null 7.null 8.null 9.null 10.null 11.null 12.null
第一个输出是我的提交。另外两个是 "phantom" 调用... 在 Chrome 中测试时,我只是在 Chrome 地址栏中写入带有参数( "get" 格式)的操作 URL 来测试提交而不使用页面。
注意我没有按 Enter 键或转到 URL,只是写入并切换到 Eclipe 来检查一些东西......现在我很惊讶:在 Eclipse 中注册了一个日志,显示操作被调用,即使我不会那样做的!!!!
有些东西让 Chrome 在后台跟踪地址...
我只是将操作更改为不转到任何页面并使用 GET 请求来避免使用正在处理的 HTML 页面(我担心某些 javascript 正在这样做)但没有任何变化。
在 Firefox 和 Internet Explorer 中一切正常,所以问题不在我的代码中...
我知道...如果不在我的代码中,它在 Chrome 中,这里不是询问 Chrome 的地方...但是请帮忙!
如果您在多功能框中键入 URL 但等待按下 Enter 键,Chrome 可能会在隐藏的选项卡中预取和预呈现您的页面。在正常的网页浏览过程中,这种预测机制减少了对网络延迟的感知。 隐私 > 预测网络操作以提高页面加载性能 选项(在 显示高级设置... 下)控制此行为。
Chrome 使用其导航历史来决定何时开始预取 URL;访问 chrome://predictors
查看数据。您的 URL 可能多次以绿色突出显示,表示预测置信度高。有关详细信息,请参阅 https://www.igvita.com/posa/high-performance-networking-in-google-chrome/#omnibox。
验证 Chrome 是否确实预呈现您的页面的一种方法是在输入您的内容时查看 chrome://net-internals/#prerender
中的 Active Prerender Pages 列表URL,不按 Enter,在另一个选项卡中。