【问题标题】:Javascript working in firefox but not IE or chromeJavascript 在 Firefox 中工作,但不能在 IE 或 chrome 中工作
【发布时间】:2010-01-02 03:12:35
【问题描述】:

我将 gwt 与 google maps api 一起使用,并且我有一组选项卡式信息窗口。在其中一个中,我希望运行最近的推文脚本。它在 Firefox 中运行良好,但在 ie 和 chrome 中显示为空白。这是我放在标签中的 HTML:

        HTML recentTweets = new HTML(
            "<body>"+
            "<div style='color: #ffffff; background-color: #010101'>"+
            "<script type='text/javascript' src='http://twitter.com/javascripts/blogger.js'></script>"+
            "<script type='text/javascript' src='http://twitter.com/statuses/user_timeline/stephenathome.json?callback=twitterCallback2&amp;count=3'></script>"+
            "</div>"+
            "</body>");

有人知道为什么会这样吗?谢谢!

【问题讨论】:

  • 你为什么使用他们的小部件的blogger.js 版本?
  • 因为它按照我想要的方式格式化文本(自推文链接到推文状态页面以来的时间)。会不会造成问题?

标签: java javascript gwt google-maps cross-browser


【解决方案1】:

补充一下 Javier Badia 所写的内容,让网页在所有流行浏览器中运行的最佳机会是 (1) 使用验证器来确保您的 HTML 和 CSS 符合标准,以及 (2) 了解哪些位的标准使某些浏览器胡思乱想。

有很多验证器。我赞成Marc Gueury's HTML Validator plugin for Firefox,因为它无需您要求即可验证打开的每个页面。在浏览器窗口的右下角,它会在吸引您眼球的地方放置一个绿色复选框或红色 X。让它“永远在线”让它变得非常轻松。此外,它还可以离线验证,因此无需将您的页面提交到外部服务器。根据您的需要,可能还有其他适合您或更好的 HTML 验证器。

我不会推荐 CSS 验证器,因为我还没有找到好的。

【讨论】:

    【解决方案2】:

    请原谅我,HTML 太可怕了。您在错误的地方有引号(例如在 div 的样式属性中),在 td 内的 tr 内的表内有 body (应该是相反的方式)。 Firefox 很可能设法用它做点什么,但其他渲染引擎放弃并且什么也不显示。 HTML 应如下所示:

    <body>
    <div style="color: #ffffff; background-color: #010101">
      <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
      <script type="text/javascrip\" src="http://twitter.com/statuses/user_timeline/Stephenathome.json?callback=twitterCallback2&amp;count=5"></script>
    </div>
    </body>
    

    翻译成Java的是:

    HTML recentTweets = new HTML(
        "<body>"+
        "<div style='color: #ffffff; background-color: #010101'>"+
          "<script type='text/javascript' src='http://twitter.com/javascripts/blogger.js'></script>"+
          "<script type='text/javascript' src='http://twitter.com/statuses/user_timeline/Stephenathome.json?callback=twitterCallback2&amp;count=5'></script>"+
        "</div>"+
        "</body>");
    

    【讨论】:

    • 我知道它看起来很糟糕,我的错。我今天尝试编写代码 30 次,这是我决定来这里询问之前尝试的最后一种方式。我编辑了操作。你建议我认为可能有效的一件事是在java中将双引号更改为单引号,但它没有用。我已经编写了代码,以便当我将其作为 .html 打开时它可以在 ie 和 chrome 中运行,但是当我将它制作为 java 时,它只能在 firefox 中运行。有什么想法吗?
    • 好吧,如果这没有帮助,我不确定我是否能提供帮助。我认为这是一个 HTML 问题。
    【解决方案3】:

    如果这是 GWT 项目的一部分,它是否在本地进行?如果是这样,问题很可能只是由于对本地文件的限制将项目放在远程 Web 服务器上,它应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 2016-02-05
      • 2014-05-24
      • 2012-11-03
      • 1970-01-01
      相关资源
      最近更新 更多