在jsfiddle中不支持jsfiddle - embed svg

时间:2014-10-04 09:06:39

标签: javascript jquery html css svg

我使用javascriptjquery构建了一个可视化组件库。在名为Flags的组件中,我在svg调用中将jquery's ajax文档作为repsonse。

首先,我尝试在svg中添加dataType:xml jquery ajax()文档和以下代码:

var container = $(document.createElement("div"));                        
var importedSVGRootElement = document.importNode(this.flag.documentElement, true);            
container.append(importedSVGRootElement);

这在Chrome和jsfiddle中都可以正常使用。后来我将其更改为embed标签,如下所示,按照我的要求维护标志序列。

var stampDiv = $(document.createElement("embed")).attr("src", this.flag + '?apikey=' +     Data.apiKey).attr("type", "image/svg+xml");        
    container.append(flagDiv);

这在Chrome和jsfiddle上也运行良好。但是2天前它停止了对jsfiddle的工作。我无法确定问题,因此我最终将其更改为img标记,如下所示:

var stampDiv = $(document.createElement("img")).attr("src", this.flag+ '?apikey=' + Data.apiKey); 
        container.append(flagDiv); 

svg因为img适用于所有三种主要浏览器和jsfiddle。我的问题是为什么embed src=svg停止了对jsfiddle的工作?如果文档在浏览器中显示为svg,我无法修改img文档。附加svg后我需要编辑它。

更新 IE和FF上的JSFiddle支持object的{​​{1}}和embed标记。但Chrome上的JSFiddle不会显示svgsvg中的object

示例 JSFiddle example to demonstrate the issue。这个小提琴在FF和IE中运行良好但在Chrome中不起作用。我使用的是Chrome版 37.0.2062.120

如何让embed代码在3个主流浏览器(Chrome,FF,IE)和embed上同时适用于svg ???

0 个答案:

没有答案