JavaScript 在 Vaadin 7 中不适用于 InternetExplorer 11
JavaScript in Vaadin 7 doesn't work on InternetExplorer 11
我在 Vaadin 7 中有一个 Web 应用程序,我使用 JavaScript,它可以在 Google Chrome 上运行,但不能在 IE 11 上运行。这是我的方式使用 JavaScript(如果可能的话,我不想用 Java 来做)
com.vaadin.ui.JavaScript.getCurrent().addFunction("left", new JavaScriptFunction(){
private static final long serialVersionUID = 1L;
@Override
public void call(JsonArray arguments) {
zinkonaux.executeJs(""
+ "var box = document.querySelector('.divobjetos');"
+ "var pos = window.getComputedStyle(box,null).getPropertyValue('left');"
+ "pos = parseInt(pos);"
+ "pos = pos + 300;"
+ "box.style.left = pos+'px';"
);
}
});
我的问题是: 在IE中javascript功能不起作用,我想点击前面的一个div,另一个滚动,像轮播效果,但是在IE中点击时没有效果,在开发中window没有错误
我建议将您的 Javascript 移动到一个单独的文件中。如果您希望 JS 方法在整个应用程序中可用,您可以在 UI class 上使用 @JavaScript 注释。
package com.company
@JavaScript("test.js")
public class MyUI extends UI
{
...
然后你需要将 test.js 放入文件夹 /com/company/test.js 中的资源文件夹(如果你使用的是 Maven),它看起来像这样。
function left()
{
var box = document.querySelector('.divobjetos');"
var pos = window.getComputedStyle(box,null).getPropertyValue('left');"
pos = parseInt(pos);"
pos = pos + 300;"
box.style.left = pos+'px';
}
我无法解决IE中的JavaScript错误,具体来说是改变左右容器之间内部div的位置,在每个容器中使用一个在其ClickListener中修改的按钮样式:
样式 styles = Page.getCurrent().getStyles();
styles.add(".divscroll .divobjects { left: "+positionInfoTags+"px !important }");
我的 html 代码是这样的:
<div class="container">
<div class="left" location="moveLeft"></div>
<div class="right" location="moveRight"></div>
<div class="divscroll">
<div class="divobjects" location="infoTags">
</div>
</div>
</div>