动态加载的SVG;似乎不再执行加载函数了
Dynamically loaded SVG doesn't seem to execute onload functions anymore
我有一个现有的应用程序,它是使用GWT作为"单页应用程序"编写的。可能发生的许多事情之一是将用户提供的SVG加载到页面中进行查看。用户可以(从SVG)调用主应用程序中的函数来检索或设置值。
由于最近(不确定确切的时间),当从GWT加载SVG时,Chrome不再执行onload。但旧版本的Chrome、Opera和许多(所有?)版本的Firefox都有。据一位用户透露,IE10/11也按预期运行。
Chrome似乎发生了一些变化,而且最近。。。
SVG的加载看起来像;
import com.google.gwt.dom.client.Element;
import com.google.gwt.user.client.ui.HTMLPanel;
@UiField
HTMLPanel svgContainer;
@Override
public void setSvgContent( String svgContent )
{
clearView();
Element containerElement = svgContainer.getElement();
containerElement.setInnerHTML( svgContent );
即使是最简单的SVG加载也不再执行;
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" width="744.09448819" height="1052.3622047" version="1.1" onload="alert('Niclas1')">
<text style="font-size:40px" x="150" y="150"
onload="alert('Niclas2')"
onclick="alert('Niclas3')">
<tspan x="150" y="150">##0.0°C</tspan>
</text>
</svg>
简单地说,onload都不会被执行,但onclick是可以的。
有人知道在过去几个月里这个领域发生了什么变化吗??
有人有解决办法的想法吗?
Chrome 34的svg存在严重的错误问题,您的问题可能与:https://code.google.com/p/chromium/issues/detail?id=362354https://code.google.com/p/chromium/issues/detail?id=361576
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 谷歌地图地图;不再加载
- Image.complete在加载后为真,但在加载第二个图像后不再为真
- 加载时显示消息,例如在 mvc 中加载或不再加载数据
- 显示'不再发布帖子'当使用ajax php加载所有帖子时
- AngularJS函数在javascript加载后不再应用
- 动态加载的SVG;似乎不再执行加载函数了
- 使用 jQuery 加载 HTML 视频不再工作
- WebView不再对文档重新加载.位置的改变