首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >托管模式下的GWT Javascript异常:表达式'doc.getBoxObjectFor‘[未定义]的结果不是函数

托管模式下的GWT Javascript异常:表达式'doc.getBoxObjectFor‘[未定义]的结果不是函数
EN

Stack Overflow用户
提问于 2009-06-19 08:58:18
回答 3查看 7.3K关注 0票数 3

有没有人见过这个例外?我在mac上的GWT1.6.4上以托管模式运行。我正在使用AutoSuggest,它抛出了这个异常,试图显示弹出窗口。它在编译模式下工作得很好,但显然托管模式相当重要。

代码语言:javascript
运行
AI代码解释
复制
[ERROR] Uncaught exception escaped
com.google.gwt.core.client.JavaScriptException: (TypeError): Result of expression 'doc.getBoxObjectFor' [undefined] is not a function.
 line: 71
 sourceId: 1152617088
 sourceURL: jar:file:/Users/holmes/.m2/repository/com/google/gwt/gwt-user/1.6.4/gwt-user-1.6.4.jar!/com/google/gwt/dom/client/DOMImplMozillaOld.java
 expressionBeginOffset: 288
 expressionCaretOffset: 307
 expressionEndOffset: 313
    at com.google.gwt.dom.client.DOMImplMozillaOld.getAbsoluteLeftImpl(Native Method)
    at com.google.gwt.dom.client.DOMImplMozillaOld.getAbsoluteLeft(DOMImplMozillaOld.java:29)
    at com.google.gwt.dom.client.Element$.getAbsoluteLeft$(Element.java:86)
    at com.google.gwt.user.client.DOM.getAbsoluteLeft(DOM.java:646)
    at com.google.gwt.user.client.ui.UIObject.getAbsoluteLeft(UIObject.java:487)
    at com.google.gwt.user.client.ui.PopupPanel.position(PopupPanel.java:1015)
    at com.google.gwt.user.client.ui.PopupPanel.access$5(PopupPanel.java:958)
    at com.google.gwt.user.client.ui.PopupPanel$1.setPosition(PopupPanel.java:811)
    at com.google.gwt.user.client.ui.PopupPanel.setPopupPositionAndShow(PopupPanel.java:700)
    at com.google.gwt.user.client.ui.PopupPanel.showRelativeTo(PopupPanel.java:809)
    at com.google.gwt.user.client.ui.SuggestBox.showSuggestions(SuggestBox.java:768)
    at com.google.gwt.user.client.ui.SuggestBox.access$3(SuggestBox.java:738)
    at com.google.gwt.user.client.ui.SuggestBox$1.onSuggestionsReady(SuggestBox.java:281)
    at com.google.gwt.user.client.ui.MultiWordSuggestOracle.requestSuggestions(MultiWordSuggestOracle.java:225)
    at com.google.gwt.user.client.ui.SuggestBox.showSuggestions(SuggestBox.java:640)
    at com.google.gwt.user.client.ui.SuggestBox.refreshSuggestions(SuggestBox.java:713)
    at com.google.gwt.user.client.ui.SuggestBox.access$6(SuggestBox.java:705)
    at com.google.gwt.user.client.ui.SuggestBox$1TextBoxEvents.onKeyUp(SuggestBox.java:678)
    at com.google.gwt.event.dom.client.KeyUpEvent.dispatch(KeyUpEvent.java:54)
    at com.google.gwt.event.dom.client.KeyUpEvent.dispatch(KeyUpEvent.java:1)
    at com.google.gwt.event.shared.HandlerManager$HandlerRegistry.fireEvent(HandlerManager.java:65)
    at com.google.gwt.event.shared.HandlerManager$HandlerRegistry.access$1(HandlerManager.java:53)
    at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:178)
    at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:52)
    at com.google.gwt.event.dom.client.DomEvent.fireNativeEvent(DomEvent.java:116)
    at com.google.gwt.user.client.ui.Widget.onBrowserEvent(Widget.java:90)
    at com.google.gwt.user.client.ui.TextBoxBase.onBrowserEvent(TextBoxBase.java:193)
    at com.google.gwt.user.client.ui.Composite.onBrowserEvent(Composite.java:54)
    at com.google.gwt.user.client.DOM.dispatchEventImpl(DOM.java:1320)
    at com.google.gwt.user.client.DOM.dispatchEventAndCatch(DOM.java:1299)
    at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1262)
EN

回答 3

Stack Overflow用户

发布于 2009-11-22 20:37:46

在编译模式下使用Firefox3.7a1pre(“雷区”)时,我遇到了类似的问题。函数getBoxObjectFor已替换为getBoundingClientRect。这是我让GWT再次工作的变通方法。只需在开始时调用下面的方法,至少对我来说它是有效的。

代码语言:javascript
运行
AI代码解释
复制
private static native void firefox3compatibility() /*-{
 if (!$doc.getBoxObjectFor) {
  $doc.getBoxObjectFor = function (element) {
   var box = element.getBoundingClientRect();
   return { "x"      : box.left,  "y"       : box.top,
            "screenX": box.left,  "screenY" : box.top,
            "width"  : box.width, "height"  : box.height };
  }
 }
}-*/;
票数 3
EN

Stack Overflow用户

发布于 2010-02-04 15:01:44

这是一个很好的修复,但我还需要将screenX和screenY添加到返回的对象中:

private static native void firefox3compatibility() /-{ if (!$doc.getBoxObjectFor) { $doc.getBoxObjectFor = function (element) { var box = element.getBoundingClientRect(); return { "x" : box.left, "y" : box.top, "width" : box.width, "height" : box.height, "screenX": box.left, "screenY":box.top }; } } }-/;

票数 0
EN

Stack Overflow用户

发布于 2011-01-13 09:00:18

对于FF3.6,getBoxObjectFor已被弃用。下面是在GWT中解决这个问题的问题:Issue 4605

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1018997

复制
相关文章
Javascript的函数声明和函数表达式
先看下面这个经典问题,在一个程序里面同时用函数声明和函数表达式定义一个名为getName的函数
前端黑板报
2019/09/19
5560
jbpm5.1介绍(12)
GWT是什么 如今,编写网络应用程序是一个单调乏味且易于出错的过程。开发人员可能要花费 90% 的时间来处理浏览器行话。此外,构建、重复使用以及维护大量 JavaScript 代码库和 AJAX 组件可能困难且不可靠。Google Web Toolkit (GWT) 允许开发人员使用 Java 编程语言快速构建和维护复杂而又高性能的 JavaScript 前端应用程序,从而降低了开发难度,尤其是与 Eclipse Google 插件结合使用时,优势更明显。 google的官方说的很详细 http://c
cloudskyme
2018/03/20
7K0
jbpm5.1介绍(12)
Javascript中的函数声明和函数表达式
Javascript有很多有趣的用法,在Google Code Search里能找到不少,举一个例子:
LA0WAN9
2021/12/14
5720
浅谈JavaScript的函数表达式(递归)
  递归函数,在前面的博客中已经简单的介绍了。递归函数是一个通过函数名称在函数内部调用自身的函数。如下: 1 function fac(num){ 2 if(num<1){ 3 return 1; 4 } 5 else{ 6 return num*fac(
水击三千
2018/02/27
6860
JavaScript立即调用的函数表达式
主要参考知乎上这个问题:javascript 匿名函数有哪几种执行方式 长天之云的回答。
meteoric
2018/11/16
1.1K0
JavaScript(js)函数声明与函数表达式的区别
在JavaScript中,函数是经常用到的,在实际开发的时候,我想很多人都没有太在意函数的声明与函数表达式的区别,但是呢,这种细节的东西对于学好js是非常重要的。
全栈学习笔记
2022/03/31
8190
浅谈JavaScript的函数表达式(闭包)
  前文已经简单的介绍了函数的闭包。函数的闭包就是有权访问另一个函数作用域的函数,也就是函数内部又定义了一个函数。 1 var Super=function(num){ 2 var count=num; 3 return function(){ 4 console.log(count); 5 } 6
水击三千
2018/02/27
6350
云函数场景下异常的日志重复问题
以语言环境 Python 3.6 和 logging 日志模块为例说明下,具体代码样例如下:
keke.wang
2022/10/11
4910
JavaScript 正则表达式(下)
在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。
陈不成i
2021/07/16
4160
如何在Google Web Toolkit环境下Getshell
Google Web Toolkit简称(GWT),是一款开源Java软件开发框架。今天这篇文章会介绍如何在这样的环境中通过注入表达式语句从而导致的高危漏洞。
Ms08067安全实验室
2020/02/21
7800
JavaScript立即执行函数的解释分析(2)—函数表达式与函数声明的区别
上次我们聊了聊表达式与语句的区别,这次我们说说函数表达式与函数声明,上次虽然提到过这两点,但是并没有很详细的讲,这次要专门聊聊了!
FEWY
2019/05/26
5640
javascript中函数声明与函数表达式
在javascript中,我们经常要声明函数,或者使用函数表达式,今天我们就来说说这两者的区别。
小明爱学习
2020/01/21
4980
linux下,imagettftext函数输出图形文字异常的处理
最近的项目一直在window平台编写和测试,今天转移到linux平台上,莫名出现验证码无法显示的问题,如图
世纪访客
2018/08/02
1.2K0
linux下,imagettftext函数输出图形文字异常的处理
设计模式(3)[JS版]-JavaScript中的构造函数模式是什么?
构造函数用于创建特定类型的对象一不仅声明了使用的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。在JavaScript里,构造函数通常是认为用来实现实例的,JavaScript没有类的概,但是有特殊的构造函数。通过new关键字来调用自定义的构造函数,在构造函数内部,this关键字引用的是新创建的对象。
AlbertYang
2020/09/08
1.1K0
GWT 初体验
最近体验了一下 GWT(Google Web Toolkit),其实这个技术老早就有了,写 Java 代码,代码很像 AWT 或者 Swing,但是最后编译成一个 war 包,也就是说,没有啰嗦的 JavaScript、HTML 和模板语言,Java 从前到后通吃,常用的模块都被封装成组件了。虽说写起来代码还挺啰嗦的(写法上面居然不支持链式调用,这确实让我看不懂),而且也没有传统 Web 开发方式来得直观,但也算一种很有意思的开发方式,值得体验一下。网上有足够多的教程,要系统地学习,官方文档是最好的材料,非常详尽。而我的方式,则更具个人风格一点,比较+吐槽,这可不是教程。
四火
2022/07/18
1.1K0
GWT 初体验
保护模式下的中断和异常(下) -- 软件实战篇
上一篇文章中,我们详细介绍了保护模式下的中断和异常以及他们的硬件基础结构 — 可编程中断控制器 8259A,以及他的初始化和中断的屏蔽与打开: 保护模式下的中断和异常(上) — 硬件原理篇
用户3147702
2022/06/27
1.2K0
保护模式下的中断和异常(下) -- 软件实战篇
函数表达式在JavaScript中是如何工作的?
在JavaScript中,函数表达式是一种将函数赋值给变量的方法。函数表达式可以出现在代码的任何位置,而不仅仅是函数声明可以出现的位置。函数表达式的语法如下:
王小婷
2023/10/23
2690
JavaScript设计模式与开发实践 - 高阶函数的应用
定义 高阶函数是指至少满足下列条件之一的函数: 函数可以作为参数被传递; 函数可以作为返回值输出。 JavaScript语言中的函数显然满足高阶函数的条件,在实际开发中,无论是将函数当作参数传递,还是让函数的执行结果返回另外一个函数,这两种情形都有很多应用场景,以下就是一些高阶函数的应用。 应用 作为参数传递 ajax异步请求 // callback为待传入的回调函数 var getUserInfo = function(userId, callback) { $.ajax("http://xxx
laixiangran
2018/04/11
8940
javascript中函数声明和函数表达式浅析
记得在面试腾讯实习生的时候,面试官问了我这样一道问题。 //下述两种声明方式有什么不同 function foo(){}; var bar = function foo(){};  当初只知道两种声明方式一个是函数声明一个是函数表达式,具体有什么不同没能说得很好。最近正好看到这方面的书籍,就想好好总结一番。 在ECMAScript中,有两个最常用的创建函数对象的方法,即使用函数表达式或者使用函数声明。对此,ECMAScript规范明确了一点,即是,即函数声明 必须始终带有一个标识符(Identifier)
Sb_Coco
2018/05/28
9462
点击加载更多

相似问题

仅在GWT托管模式下的Hibernate ClassCastException

33

GWT Maven托管模式

32

未定义的表达式的结果不是函数

21

表达式'$.cookie‘[未定义]的结果不是函数

52

GWT托管模式非常慢

42
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文