嵌入到浏览器中时,SVG失去了Javascript交互性

markethekoala

我创建了一个包含JavaScript的SVG文件。

当我将此SVG文件作为独立文件在Chrome中运行时,它可以正常显示。

当我将此SVG嵌入HTML页面时,它失去了交互性。

我做错了什么...?

由于各种原因,我不想使用JQuery,D3或将31行SVG作为文本嵌入HTML页面。

我想使用标记在HTML中嵌入交互式SVG文件,如下所示:

<img src="SVG-STO.svg" style="width:175px  height:258px">

这是“ SVG-STO.svg”文件的简化版本:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg"  id="hexMap" viewBox="18 281 175 259"  width="175" height="259" xml:space="preserve"  style = "background-color: #EEEEEE;">

<script type="text/javascript">

<![CDATA[
var objNames =  
{
"AA":{"name":"Hex A","value":"965787"},
"BB":{"name":"Hex B","value":"48986"}
};

function m_over(hover_id) { 
var objName = objNames[hover_id].name;
var objValue = objNames[hover_id].value;
document.getElementById("TEXT_NAME").innerHTML = objName;
document.getElementById("TEXT_VALUE").innerHTML = objValue;
document.getElementById(hover_id).setAttribute("fill-opacity","0.3");}

function m_out(hover_id)   {
document.getElementById(hover_id).setAttribute("fill-opacity", "1.0");
console.log(hover_id);
document.getElementById("TEXT_NAME").innerHTML = "";
document.getElementById("TEXT_VALUE").innerHTML = "";
}
]]>
</script>
<text id = "TEXT_NAME" x = "28.74" y = "301" font-family = "sans-serif" font-size = "10px" fill = "#FF00FF">Initial</text>

<text id = "TEXT_VALUE" x = "28.74" y = "321" font-family = "sans-serif" font-size = "10px" fill = "#FF00FF">Value</text>             

<path id="AA" style="stroke:#CCCCCC; stroke-width:1px; fill:#00A600;" onmouseover="m_over(this.id);" onmouseout="m_out(this.id);" d="M142.3397,326l-8.66,-15l8.66,-15h17.32l8.66,15l-8.66,15H142.3397z"/>

<path id="BB" style="stroke:#CCCCCC; stroke-width:1px; fill:#19AF00;" onmouseover="m_over(this.id);" onmouseout="m_out(this.id);" d="M142.3397,356l-8.66,-15l8.66,-15h17.32l8.66,15l-8.66,15H142.3397z"/>

</svg>
马克西米利安·劳梅斯特

img出于隐私方面的考虑,大多数浏览器不允许标签进行SVG交互(浏览器将其解释为非交互图像)。要保留交互式SVG的所有功能,请object改为使用标记嵌入SVG

<object type="image/svg+xml" data="SVG-STO.svg" style="width:175px; height:258px"></object>

有关嵌入SVG文件的不同方法的详细信息,请参阅此CSS-技巧文章

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iPhone 6 Plus,Safari,iOS8中的Deadzone。当标签可见时,底部区域失去了交互性

来自分类Dev

网站在Android浏览器中失去了初始规模

来自分类Dev

是否有一些示例弃用的HTML元素在当前浏览器中失去了支持?

来自分类Dev

如何在将Matplotlib图形嵌入到Tkinter画布中时获得(3d)交互性

来自分类Dev

嵌入Web浏览器时,Javascript是DOM交互的唯一选择吗?

来自分类Dev

嵌入Web浏览器时,Javascript是DOM交互的唯一选择吗?

来自分类Dev

失去了连接

来自分类Dev

在反序列化到JodaTime时,Jackson失去了日期上的时间偏移

来自分类Dev

元素在MS Edge中悬停时失去了粘性位置

来自分类Dev

使用ExtractTextPlugin时Vue中的带范围CSS失去了范围

来自分类Dev

撞墙时身体失去了速度分量

来自分类Dev

以编程方式截取Cardview时,Cardview失去了半径

来自分类Dev

JavaScript范围在Firefox上失去了空格?

来自分类Dev

安装HTTPS后,网站失去了javascript和布局

来自分类Dev

TimePicker失去了绑定

来自分类Dev

KnockoutJS失去了ViewModel

来自分类Dev

KnockoutJS失去了ViewModel

来自分类Dev

TimePicker失去了绑定

来自分类Dev

Xamarin:绑定jar库时,没有getXXX()/ setXXX()的公共字段失去了通用性

来自分类Dev

Xamarin:绑定jar库时,没有getXXX()/ setXXX()的公共字段失去了通用性

来自分类Dev

Intellij Idea 14.1中失去了Kotlin支持

来自分类Dev

脚本在魔术方法__destruct()中失去了权限

来自分类Dev

Bundle中的getString失去了旧值

来自分类Dev

Extjs getCmp在Chrome中失去了参考

来自分类Dev

ui:define中的p:dialog失去了焦点

来自分类Dev

Flutter提供者导航到另一个屏幕时失去了价值

来自分类Dev

volatile关键字是否由于多线程应用程序中的AtomicXXX变量而失去了相关性?

来自分类Dev

使用javascript与浏览器进行交互

来自分类Dev

在svg到png图像的浏览器转换中(包括IE的跨浏览器)

Related 相关文章

  1. 1

    iPhone 6 Plus,Safari,iOS8中的Deadzone。当标签可见时,底部区域失去了交互性

  2. 2

    网站在Android浏览器中失去了初始规模

  3. 3

    是否有一些示例弃用的HTML元素在当前浏览器中失去了支持?

  4. 4

    如何在将Matplotlib图形嵌入到Tkinter画布中时获得(3d)交互性

  5. 5

    嵌入Web浏览器时,Javascript是DOM交互的唯一选择吗?

  6. 6

    嵌入Web浏览器时,Javascript是DOM交互的唯一选择吗?

  7. 7

    失去了连接

  8. 8

    在反序列化到JodaTime时,Jackson失去了日期上的时间偏移

  9. 9

    元素在MS Edge中悬停时失去了粘性位置

  10. 10

    使用ExtractTextPlugin时Vue中的带范围CSS失去了范围

  11. 11

    撞墙时身体失去了速度分量

  12. 12

    以编程方式截取Cardview时,Cardview失去了半径

  13. 13

    JavaScript范围在Firefox上失去了空格?

  14. 14

    安装HTTPS后,网站失去了javascript和布局

  15. 15

    TimePicker失去了绑定

  16. 16

    KnockoutJS失去了ViewModel

  17. 17

    KnockoutJS失去了ViewModel

  18. 18

    TimePicker失去了绑定

  19. 19

    Xamarin:绑定jar库时,没有getXXX()/ setXXX()的公共字段失去了通用性

  20. 20

    Xamarin:绑定jar库时,没有getXXX()/ setXXX()的公共字段失去了通用性

  21. 21

    Intellij Idea 14.1中失去了Kotlin支持

  22. 22

    脚本在魔术方法__destruct()中失去了权限

  23. 23

    Bundle中的getString失去了旧值

  24. 24

    Extjs getCmp在Chrome中失去了参考

  25. 25

    ui:define中的p:dialog失去了焦点

  26. 26

    Flutter提供者导航到另一个屏幕时失去了价值

  27. 27

    volatile关键字是否由于多线程应用程序中的AtomicXXX变量而失去了相关性?

  28. 28

    使用javascript与浏览器进行交互

  29. 29

    在svg到png图像的浏览器转换中(包括IE的跨浏览器)

热门标签

归档