javascript - 在 iOS 上使用 Chrome 不会触发图像 onLoad 事件
问题描述
我正在使用Scala.js和d3.js ( scala-js-d3 ) 在 Web 应用程序中绘制 SVG。我遇到的问题是,对于我的背景图像,load
在 iOS(iPhone)上使用 Chrome 时不会触发该事件。在 Windows 上使用 Chrome 时会触发。图像本身在所有平台上都可见。
这是我添加图像的方法:
d3.select("#backgroundImg")
.append("image")
.attr("id", "graphBackgroundImage")
.attr("width", "1954px")
.attr("height", "1532px")
.attr("xlink:href", "img/maps/map.png")
// TODO this load event does not trigger on iOS!
.on("load", (_: EventTarget) => { println("image loaded") } : Unit)
.on("error", (_: EventTarget) => { prinltn("an error has occured") } : Unit)
在 Windows 上,这会创建以下 svg dom 元素(并且一切都按预期工作):
<g id="backgroundImg">
<image id="graphBackgroundImage" width="1954px" height="1532px" xlink:href="img/maps/map.png"></image>
</g>
在我拥有的 iPhone 上调试有点困难,所以到目前为止我发现的就是这些。我只知道image loaded
在 iOS 上使用 Chrome 时没有记录(也没有an error has occured
日志)。
解决方案
推荐阅读
- swift - 在 Swift 中将 Google 地图添加到视图中
- c++ - 将列表分成相等的部分?
- javascript - 如何只围绕它的中点旋转一条线?
- python - 为什么迭代器和生成器是可散列的?
- javascript - 使用 PDF.js 时 .pdf 的离线可用性
- typescript - 如何解决 TypeScript 中 Object is possible is 'null'.ts(2531) 错误?
- python - 如何从数据框组的第一个值创建增量 var?
- android - 片段事务后单击时 EditText 消失
- javascript - 可重复使用的网页元素
- mysql - 计算2(非连续)行之间的时间差