GWT在运行时注入CSS

Adi*_*Mor 5 css gwt code-injection

我在我的项目中使用gwt 2.3.0.我需要更改我的css源:

<link type="text/css" rel="stylesheet" href="gxt/css/gxt-all.css">
Run Code Online (Sandbox Code Playgroud)

在运行时(我想决定在onModuleLoad方法上使用哪个文件).这样做最好的是什么?

JBE*_*JBE 11

要注入CSS文件,您需要以与ScriptInjectorjavascript文件类似的方式继续 :

/** Load CSS file from url */
public static void loadCss(String url){
    LinkElement link = Document.get().createLinkElement();
    link.setRel("stylesheet");
    link.setHref(url);
    nativeAttachToHead(link);
}

/**
 * Attach element to head
 */
protected static native void nativeAttachToHead(JavaScriptObject scriptElement) /*-{
    $doc.getElementsByTagName("head")[0].appendChild(scriptElement);
}-*/;
Run Code Online (Sandbox Code Playgroud)

@jusio:

StyleInjector.inject(...) 仅适用于CSS内容:

StyleInjector.inject(".myClass{color:red;}");
Run Code Online (Sandbox Code Playgroud)