无法在 Vaadin 7 中使用 jquery 将 html 文本加载到 div 标签中

cannot load html text into div tag using jquery in Vaadin 7

非常感谢您提前提供的帮助和支持。使用 vaadin 7 AbstractJavaScriptComponent,我试图加载 html 片段来代替 div 标记,但屏幕不显示任何内容。无法弄清楚原因。请帮忙!

window.de_vaadin_ui_myapp_MyWidget = function() {

$(document).ready(function(){
$("#content").load("html/NewFile.html");
});

var element = this.getElement();
this.onStateChange = function() {
    element.innerHTML ="<div id=\"content\"></div>";
};

};

the html file is located in the package de.vaadin.ui.myapp.MyWidget.html

这里有很多地方可能出错。如果您描述任何相关的日志消息等,将会有所帮助。

我可以看到为什么这对你不起作用的多种不同原因:

  1. 连接器逻辑根本不是 运行,例如由于 @JavaScript 注释值或连接器函数名称中的拼写错误(即 de_vaadin_ui_myapp_MyWidget)。您可以通过添加例如验证它是否实际加载console.log(this.getElement()) 在顶层函数中。
  2. HTML 请求错误URL。检查浏览器开发人员工具中的网络检查器,以查看实际加载了哪个绝对 URL 以及 returns 是预期结果还是仅例如404 响应。如果这是问题所在,您可以将 HTML 文件移动到其他地方,或者将传递给 load 的相对 URL 更改为
  3. 每次发生状态更改事件时都会重置扩展元素的内容,因为 innerHTML 已重新分配。将分配 innerHTML 的语句移到 onStateChange 处理程序之外可能会有所帮助,这样它在初始化期间只会 运行 一次。这也可能导致 $("#content") 在 div 甚至还没有创建之前就已经是 运行 的情况,导致它找不到目标元素。