【问题标题】:Change loading sequence of style-sheet in GWT/SmartGWT更改 GWT/SmartGWT 中样式表的加载顺序
【发布时间】:2020-01-15 20:31:35
【问题描述】:

我在我的应用程序中使用 GWT 和 SmartGWT。我想将应用程序版本升级为 GWT 从 2.6.1 到 2.8.2 和 SmartGWT 从 5.0 到 6.1。我已成功迁移它,但遇到了一些 UI 问题。

.gwt.xml 文件如下所示。

<module>
    <inherits name="com.smartgwt.SmartGwt" />
    <inherits name="com.smartclient.theme.enterprise.Enterprise" />
    <inherits name="com.smartgwt.PluginBridgesWidgets" />
    <inherits name="com.myproject.file.Model" />

    <script src="json2.js" />
    <script src="swfobject.js" />

    <stylesheet src="css/home.css" />
    <stylesheet src="css/smartgwt-overrides.css" />
</module>

之前它以 GWT/SmartGWT 的形式依次加载样式表和 JS,之后是我的自定义样式表和 JS。但升级后它会先加载自定义 CSS 和 JS,然后再加载 GWT/SmartGWT。因此,UI 可以像以前一样工作。

任何人有任何想法,如何改变加载顺序?我也尝试过从 .gwt.xml 更改上述文件序列,但没有价值。

提前致谢!

【问题讨论】:

  • 您可以尝试使用 StyleInjector 通过代码加载样式。
  • 您能详细说明一下吗?意味着如何注入?如果你有这方面的例子?我对升级中行为的变化感到非常惊讶。
  • 我尝试过elemental 2,但客户端代码出错。

标签: gwt smartgwt gwt-2.8


【解决方案1】:

你可以继承"com.smartgwt.SmartGwt"

com.smartgwt.SmartGwtNoTheme

甚至

com.smartgwt.SmartGwtNoScriptNoTheme

并以所需的顺序将所有必需的资源(js 和 css 文件)直接包含到您的 html 页面中。

【讨论】:

  • 其实我也想用这个主题。在早期版本中,它以正确的顺序加载,但现在升级后它首先加载自定义 js/css 文件,然后是 SmartGwt 库 js/css 文件。那么为什么它会这样呢?目前它正在通过添加html来工作。但客户不接受。
  • 给你另一个想法 - 从 smartgwt-skins.jar 中提取所需的主题,应用你的更改,重命名它,打包为 my-smart-gwt-skin.jar 并添加到依赖项。
猜你喜欢
  • 2021-05-31
  • 1970-01-01
  • 2019-04-11
  • 1970-01-01
  • 2011-09-16
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多