【发布时间】:2014-09-24 22:50:50
【问题描述】:
谁能解释为什么我在使用 Google Visualization API 显示图表时收到 HTML1504: Unexpected end tag 警告?
我一直在调试一个网站,该网站的图表在 Firefox 中显示良好,但在 IE11 中没有显示任何数据。我最终解决了这个问题(IE11 处理与 Firefox 不同的无效日期格式),但浪费了很多时间试图追踪上述错误。
我的代码基于https://developers.google.com/chart/interactive/docs/quick_start 的示例代码,它给出了相同的信息。 JSLint 或 W3C HTML Validator 中都没有出现任何不愉快的情况。
如果我注释掉google.load('visualization', '1.0', {'packages':['corechart']}); 行,警告就会消失,但这显然也会使图表停止工作。更改 IE11 兼容性设置似乎没有任何效果。
该错误在 IE11 开发人员控制台中可见,但在 Firefox 的控制台、浏览器控制台或 Firebug 控制台中没有出现任何等效项。 IE11 报告错误是由我的图表代码末尾的</script> 标记触发的(这是内联javascript,而不是单独的文件)。删除 </script> 标记会导致 HTML 错误(正如预期的那样!)
我很感兴趣 Javascript 中的函数调用应该能够在周围的 HTML 中引起错误。警告信息重要吗?可以避免吗?
【问题讨论】:
-
您找到解决方案了吗?使用 Google AJAX 提要 API 时,我在 IE11 中遇到了相同的行为。它不会发生在 IE10 或任何其他浏览器中,只有 IE11。
-
恐怕不行。我猜当它向 DOM 中插入代码时,要么 Google 的 Chart 脚本在 IE11 下无法正常工作,要么 IE11 在页面只写了一半时尝试渲染页面。我选择了使用问题较少的浏览器的简单选项...
-
我在 IE 10.0.31 中得到了相同的结果。试图在它周围放置一个 $(document).ready() ,但这似乎没有帮助。
-
您是否尝试过使用
loader.js与较旧的jsapi库?
标签: javascript html internet-explorer charts google-visualization