blank.html被多次下载

时间:2016-03-28 16:18:03

标签: gwt https

使用GWT,并使用HTTPS在WebLogic上部署应用程序。

性能很差,使用F12开发者工具,我们可以看到blank.html被多次下载。这显然与GWT有关,但我们无法弄清楚原因。

以下是来自javascript:

defineSeed(2613, 2614, makeCastMap([Q$BaseModelData, Q$ModelData, Q$Theme, Q$Serializable]), Slate_0);
var SLATE;
function $clinit_GXT(){
    $clinit_GXT = nullMethod;
    IMAGES = new XImages_generatedBundle_0;
    MESSAGES = new XMessages__0;
    SSL_SECURE_URL = getModuleBaseURL() + 'blank.html';
}

这是来自GWT.java:

/**
 * URL to a blank file used by GXT when in secure mode for iframe src to
 * prevent the IE insecure content. Default value is 'blank.html'.
 */
public static String SSL_SECURE_URL = GWT.getModuleBaseURL() + "blank.html";

有谁知道在什么情况下调用blank.html?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

这是来自GWT.java:

这实际上来自GXT.java。

在创建<iframe>元素时,会在少数情况下使用此功能,以便在您的网站使用SSL托管时,IE不会出错。实际上我只能在Layer.java中找到一个使用它的案例(从GXT 3.1.1开始)。只有从https网址加载的IE页面才会使用此功能。

Layer类使用它作为&#34; shim&#34;,一种支持上面的一些DOM元素的方法,并解决一些浏览器错误(通常是插件或iframe相关)。菜单和弹出对话框使用它来确保它们不会出现在&#34;下面。内容应该是&#34;以上&#34;。

这个文件非常小 - 只是足够的HTML来说服IE而不是iframe已正确加载,而且没有更多。它永远不会改变,并且应该几乎立即加载。

就性能而言,这应该只在菜单或窗口/对话框/工具提示显示时发生 - 这些通常不应该在应用启动时发生,至少不超过一两个窗口。此外,浏览器应该识别它正在加载相同的元素并正确缓存它,而不是多次加载它(尽管它可能会多次列入缓存)。如果服务器指示浏览器永远不会缓存文件,那么您应该考虑更改。

简而言之,这不太可能是任何性能问题的原因,至少在GXT本身是这样。如果您以某种方式在项目中的每个小部件上启用了填充程序,则不需要这样做。如果文件加载速度很慢,那么服务器配置可能会出现问题。

供参考,这是整个文件:

<html></html>