39 lines
1.1 KiB
Java
39 lines
1.1 KiB
Java
package org.gcube.portlets.user.speciesdiscovery.client.util;
|
|
|
|
import com.google.gwt.dom.client.Document;
|
|
import com.google.gwt.dom.client.Element;
|
|
import com.google.gwt.dom.client.HeadElement;
|
|
import com.google.gwt.dom.client.ScriptElement;
|
|
|
|
/**
|
|
* @author "Federico De Faveri defaveri@isti.cnr.it"
|
|
*
|
|
*/
|
|
public class JavascriptInjector {
|
|
|
|
private static HeadElement head;
|
|
|
|
public static void inject(String javascript) {
|
|
HeadElement head = getHead();
|
|
ScriptElement element = createScriptElement();
|
|
element.setText(javascript);
|
|
head.appendChild(element);
|
|
}
|
|
|
|
private static ScriptElement createScriptElement() {
|
|
ScriptElement script = Document.get().createScriptElement();
|
|
script.setAttribute("language", "javascript");
|
|
return script;
|
|
}
|
|
|
|
private static HeadElement getHead() {
|
|
if (head == null) {
|
|
Element element = Document.get().getElementsByTagName("head").getItem(0);
|
|
assert element != null : "HTML Head element required";
|
|
HeadElement head = HeadElement.as(element);
|
|
JavascriptInjector.head = head;
|
|
}
|
|
return JavascriptInjector.head;
|
|
}
|
|
|
|
} |