GWT - 仅在Edge浏览器中获取UmbrellaException

时间:2017-05-24 09:36:24

标签: java gwt microsoft-edge

我目前正在与GWT合作开展一个项目,我还是有点新手。当我注意到只有在Edge浏览器中显示不正确时,我正在测试我的代码。查看日志时,我发现了很多错误:

module CollectionsHelper 
    def number_of_stories_in_collection
        collection.stories.count
    end

    def render_stories_count
      if number_of_stories_in_collection.zero?
        'No stories in this collection yet'
      else
        "#{number_of_stories_in_collection} #{'story'.pluralize(number_of_stories_in_collection)}"
      end
    end
end

所以我用Google搜索了一下,注意到这篇文章:What does <meta http-equiv="X-UA-Compatible" content="IE=edge"> do?

所以我试着将它添加到我的代码中,但这并不能解决我的问题。我仍然在获取umbrellaExceptions,并且在Edge中仍然无法正确显示UI。

我的html文件的一部分:

undefined method `stories' for #<Collection::ActiveRecord_Relation:0x007f510f504af8>

所以我尝试在其他元标记下添加com.google.gwt.event.shared.UmbrellaException: Exception caught: For input string: "176px" 。但这似乎不起作用。我相信我没有正确添加该标签。但我尝试了不同的变体,如:

<!doctype html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">


<link type="text/css" rel="stylesheet/less" href="xxxxx.less"/>
<!--[if IE 9]>
<link type="text/css" rel="stylesheet/less" href="ie9.less">
<![endif]-->


<title>xxx</title>

<!-- Translations -->
<script type="text/javascript" src="translations/languages.js"></script>

<script type="text/javascript" src="js/less-1.7.5.min.js"></script>

<script type="text/javascript" src="xxxWebApp/xxxWebApp.nocache.js">
</script>
<script type="text/javascript" src="jquery/jquery.min.js"></script>
<script type="text/javascript" src="jquery/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/application.js"></script>
</head>

但仍然没有结果。有人可以正确添加该标签,或者只能在Edge浏览器中导致UmbrelllaException。

更新 以下是完整堆栈跟踪的示例:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

提前致谢。

2 个答案:

答案 0 :(得分:0)

我无法评论为什么错误仅在Edge上;我的印象是你应该在任何地方得到它(或者对于看似糟糕的输入,Edge可能不那么宽容)。

但是,关于错误本身:

  • 看起来这是因为你指定一个“176px”形式的值,它应该只是“176”;该值可以是元素的宽度,或元素的高度,或其他值;您可能会很幸运,项目中的简单文本搜索可能指向正确的位置(按值“176”搜索)
  • 如果上述方法不起作用,那么您需要更好地了解问题;使用-style PRETTY启动您的开发模式,并且(可能递归地)在UmbrellaException的堆栈跟踪的某处打印,以及其原因的堆栈跟踪(可能使用来自here的建议),使用UmbrellaException#getCauses返回的原因。

答案 1 :(得分:0)

好的,我真的不知道导致问题的原因,但是将GWT从2.8.0更新到2.8.1解决了问题。

希望我能用这个太阳镜为其他人留下一些麻烦。