我已經在vaadin中創建了一個自定義javascript組件。我已經使用@StyleSheet
註釋添加了幾個外部樣式表。該組件工作正常,但在IE8中顯示腳本錯誤。腳本錯誤的數量等於使用註釋包含的外部CSS的數量。自定義Javascript組件:使用@StyleSheet在IE8中產生腳本錯誤
錯誤是:對象不支持此操作。
我該如何解決這個問題?
UI類別:
package com.example.example;
import javax.servlet.annotation.WebServlet;
import com.vaadin.annotations.Theme;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinServlet;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
@SuppressWarnings("serial")
@Theme("example")
public class ExampleUI extends UI {
@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = ExampleUI.class)
public static class Servlet extends VaadinServlet {
}
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
MyComp mycomponent = new MyComp();
layout.addComponent(mycomponent);
}
}
元器件
服務器部分:MyComp.java
package com.example.example;
import com.vaadin.annotations.JavaScript;
import com.vaadin.annotations.StyleSheet;
import com.vaadin.ui.AbstractJavaScriptComponent;
@JavaScript({"component.js","component-connector.js"})
@StyleSheet({"Stylesheet1.css"})
public class MyComp extends AbstractJavaScriptComponent {
private static final long serialVersionUID = 1L;
@Override
protected MyCompState getState() {
return (MyCompState) super.getState();
}
}
客戶端部分:component.js
var mylibrary = mylibrary || {};
mylibrary.Comp = function(element) {
element.innerHTML = "<div>hello</div>";
};
連接器:組件connector.js
window.com_example_example_MyComp =
function() {
var mycomponent = new mylibrary.Comp(this.getElement());
this.onStateChange = function(e) {};
};
國家:MyCompState.java
package com.example.example;
import com.vaadin.shared.ui.JavaScriptComponentState;
public class MyCompState extends JavaScriptComponentState{
private static final long serialVersionUID = 1L;
}
種樣式
Stylesheet1.css
div {
}
我假設你正在編寫一個GWT應用程序。嘗試做一個漂亮的編譯,並看看編譯後的源代碼。只是爲了確保:包含的CSS文件的數量> 100? –
我已經更新了源代碼的問題。 css文件數量<10 – 4J41
我在IE中遇到同樣的問題的時候,對象的名稱已經存在屬性/對象/關鍵字。像我名稱方法selection()不工作,當我讓我的選擇錯誤得到解決。 – Neha