svg insideHTML在firefox中无法显示

2023-12-02

我使用innerHTML添加svg元素,它在chrome中工作正常,但在firefox中无法显示;非常感谢您的回答

    <!DOCTYPE html>
    <html>
    <head>
        <title>SVGInnerHTML demo</title>
        <meta charset="utf-8" />
        <script src="svginnerhtml.js"></script>
        <script>
        alter  = function () {
            var svg = document.getElementById('container');

            svg.innerHTML   = '<rect width="100" height="60" fill="green" />'
                            + '<circle cx="10" cy="19" r="20" fill="blue"></circle>'
                            + '<text x="15" y="20" fill="white">hello world</text>'
                            + '<g transform="translate(0, 70)"><rect width="100" height="20" fill="yellow" /></g>';
        }
        </script>
    </head>

    <body>

    <svg id="container" width="100px" height="100px" http://www.w3.org/2000/svg>

    </svg>

    <p>
    <button onclick="alter()">set .innerHTML</button>
    <button onclick="alert(document.getElementById('container').innerHTML)">get .innerHTML</button>
    </p>
    </body>
    </html>

解决方法是将innerHTML 代码添加为HTML,而不是SVG。您可以简单地通过使用来做到这一点<div>(代替<svg>) 在 HTML 代码中作为占位符,然后通过以下方式插入完整的 SVGinnerHTML.

Replace:

<svg id="container" width="100px" height="100px">
</svg>

with

<div id="container" style="width: 100px; height: 100px">
</div>

并包裹你的innerHTML一个内的字符串<svg>元素:

var svg = document.getElementById('container');
svg.innerHTML   = '<svg><rect width="100" height="60" fill="green" />'
                + '<circle cx="10" cy="19" r="20" fill="blue"></circle>'
                + '<text x="15" y="20" fill="white">hello world</text>'
                + '<g transform="translate(0, 70)">'
                + '<rect width="100" height="20" fill="yellow" /></g></svg>';

这应该适用于 Chrome 和 Firefox。这是一个JSFiddle.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

svg insideHTML在firefox中无法显示 的相关文章

  • d3 饼图中的文本被路径覆盖

    我正在尝试按照 d3 的饼图示例进行操作http bl ocks org mbostock 3887235 http bl ocks org mbostock 3887235 我的代码的最小示例 const container graph
  • 将 SVG 元素放置在图像上

    是否可以拥有以下元素并设置它们的样式 以便 SVG 对象出现在图像上 即像图像的一部分 目前它们显示在其下方的新行中 我知道我可以将图像设置为父 div 的背景图像 但不幸的是我还需要能够在父级内旋转它 所以我认为这不是一个选项 div s
  • 我希望 AutoIt 激活 Firefox 中的特定选项卡。如何才能做到这一点?

    我在 Firefox 中打开了几个选项卡 我希望 AutoIt 激活 Firefox 中的特定选项卡 如何才能做到这一点 给予整个浏览器窗口焦点 然后使用 send 命令重复发送 cntl tab 直到窗口的标题是您想要的选项卡的名称 末尾
  • 悬停时的 SVG 过滤器标签

    我正在尝试通过此过滤器对 SVG 进行动画处理
  • ie11 中的 SVG 问题

    我有一个 div 其高度设置为 320 像素 然后它的子元素宽度设置为 100 它的子文件是一个 SVG 文件 我将其宽度设置为容器的 200 在运行良好的 Chrome 和 Firefox 中 我得到了如下所示的漂亮图像 HTML 看起来
  • 如何在 Firefox 插件上使用 jQuery 1.5.2+?

    首先 我创建了一个接收参数并返回 jQuery 的函数 例如 function getjQuery window jquery code window return window jQuery 但后来我收到了一封评论电子邮件 他们告诉我必须
  • d3.js:在 SVG 线性渐变中过渡颜色?

    正如标题所说 使用D3 js 是否可以实现线性渐变的颜色过渡 例如 如果我有这个渐变 var gradient svg append svg defs append svg linearGradient attr id gradient a
  • 如何在 blaze-html 中渲染 blaze-svg 标记

    我想将使用 blaze svg 生成的 svg 图直接包含在使用 blaze html 生成的 html 中 两者都基于 blaze markup 所以我希望它很容易 diagram1 Svg diagram1 try1 Html try1
  • 如何提取Firefox会话cookie(Python语言首选)

    我正在尝试从数据库 cookies sqlite 中提取 FF cookie 然而 似乎只能在那里找到具有过期日期的cookie 我正在搜索会话结束时过期的cookie 我什至打开了FF的 记住打开的标签 功能 我不明白 它们之间的根本区别
  • 动画 SVG 在页面加载之前不会显示动画

    我的网站包含大量广告 加载需要一段时间 确切地说 这并不是一个问题 但我注意到任何 SVG 动画都会立即绘制第一帧 但动画只有在页面上的所有加载完成后才会出现 SVG 动画通常指示旋转器 加载图标 有没有办法立即启动SVG动画 或者如果我将
  • 学习 SVG 的书籍/教程 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 客户端 websocket 限制消息长度

    我正在使用 node js 开发一个 websockter 服务器 并且我发现了 Chrome 中的一些怪癖 Chrome OS X 10 7 64 位 上的最大字符串长度为 17740 而 Firefox 似乎可以毫无问题地处理非常大的字
  • Svg 点击事件无法正常工作

    我试图让我的 SVG 看起来像一个 饼形 看起来一切都很好 此外 我希望它们每个都有不同的点击事件 function one alert 1 function two alert 2 function three alert 3 funct
  • 处理重叠 SVG 图层中的鼠标事件

    我正在使用 d3 js 构建地图可视化 我正在为美国各州和县绘制填充多边形 县的 SVG 图层位于州图层下方 状态已填充 但填充不透明度设置为 0 我认为 需要填充来捕获点击事件 我想捕获州级的点击事件 但我想捕获县级的鼠标悬停事件 但是
  • 可以在 d3.js 中使用具有固定圆圈大小的圆圈包布局吗?

    此圆形包布局示例 http bl ocks org 4063269 http bl ocks org 4063269 非常适合我正在从事的项目 但是它会调整所有圆圈相对于彼此的大小 有没有一种简单的方法来指定每个圆的固定半径 我已经搜索了源
  • 如何使用 jQuery 隐藏和显示 CKEditor?

    以下代码应允许隐藏 显示 CKEditor 表单 a Hide a a Show a
  • Selenium Python Firefox webdriver:无法修改配置文件

    我想在 Webdriver Firefox 实例上使用 新选项卡而不是窗口 选项 1 我创建了一个启用此选项的配置文件 但是当我使用该配置文件时 很多选项都可以 但不是这个 2 加载配置文件后 我尝试更改代码中的选项 但它不起作用 我的代码
  • org.openqa.selenium.NoSuchSessionException:会话 ID 为空。调用 quit() 后使用 WebDriver?

    我已经进行了一些搜索 但仍然遇到同样的问题 我相信这可能是由于我的网络驱动程序是静态的造成的 我不太确定 在我的主课中 我包括了 BeforeTest and AfterTest BeforeTest包括根据我的 XML 文件启动新浏览器
  • 自 JRE 1.7.0_25 起,Batik 无法进行转换

    自从我更新到 JAVA 1 7 0 25 以来 蜡染在应用转换时会抛出异常 堆栈跟踪是 java awt image ImagingOpException Unable to transform src image at java awt
  • 如何在网站上使用 svg 元素制作块的屏幕截图?

    我在网站上创建了一个构造函数 其本质是将所选元素及其颜色 svg中的元素 添加到访问者选择的背景和背景颜色 png中的背景 中 然后必须单击 保存 结果 按钮并仅执行工作区的屏幕截图 我写了这个脚本 但它需要屏幕截图 但只有背景 并忽略选定

随机推荐

  • 在 Chrome.tabs.executeScript 中获取多个值

    如何从 Chrome 插件 tabs executeScript 返回多个元素的值 请在下面的代码中建议 chrome tabs executeScript targetTab id code var header top document
  • Qt:将受保护的 QListWidget::itemChanged 信号连接到插槽

    我根据 new 在 Qt5 中使用了以下语法连接语法避免插槽和信号的类型不匹配QListWidget与可检查的项目 connect item QListWidget itemChanged this mainWindow checkItem
  • 绘制 2D HUD 会扰乱 3D 模型的渲染吗?

    我正在使用 XNA 3 1 我最近使用以下方法创建了一个 2D 平视显示器 HUD Components Add myComponent 到我的游戏 HUD 看起来不错 显示 2D 地图 十字准线和帧速率计数器 问题是 每当 HUD 出现在
  • 获取失败次数过多:集群上的 Hadoop (x2)

    我在过去一周左右一直在使用 Hadoop 试图掌握它 虽然我已经能够设置一个多节点集群 2 台机器 1 台笔记本电脑和一台小型台式机 并检索结果 但我总是当我运行 hadoop 作业时 似乎遇到 太多获取失败 一个示例输出 在一个简单的字数
  • JSON.parse:JSON 数据第 1 行第 1 列出现意外字符 (php)

    我无法访问 json 数据 因为它总是失败并给出错误 SyntaxError JSON parse JSON 数据第 1 行第 1 列出现意外字符 search php输出json数据但scripts js输出json parse错误脚本
  • 为什么我们要指定委托和事件,为什么不在 C# 中使用事件呢?

    为什么我们要与事件一起指定委托 为什么不在 C 中使用事件呢 例如 我有以下代码 class Shop internal delegate void EventHandler object sender GoodsInfoEventArgs
  • Python 电子邮件以纯文本形式发送 HTML

    我有以下应该发送电子邮件的脚本 但是 电子邮件是以纯文本而不是 HTML 形式发送的 我错过了一段代码吗 import smtplib ssl mimetypes from email message import EmailMessage
  • 使用 iText 删除指定区域中包含的文本

    是否可以使用 iText 删除 pdf 文档指定区域 红色矩形区域 中包含的所有文本 请看一下删除矩形中的内容例子 假设我们有以下页面 现在我们要删除坐标定义的矩形中的所有文本 llx 97 lly 405 urx 480 ury 445
  • Java字符串实例化

    为什么此代码返回 false 而不是 true package com company public class Main public static void main String args String fullName Name L
  • 使用 LU 分解求解 CUDA 中的稀疏线性系统

    当前基于 MATLAB 的 C 实现需要大约6ms用于解决Ax B 在哪里A是具有带宽的带状稀疏矩阵3尺寸780 X 780 现在我想用cuBLAS cuSPARSE找到更快的解决方案 我需要解决1440循环中的此类方程 我尝试使用基于 P
  • 如何防止jacoco检测生产代码?

    我在 gradle 中使用 jacoco 插件 apply plugin kotlin jacoco toolVersion 0 7 9 jacocoTestReport reports xml enabled true html enab
  • hide() 在 IE 中不起作用

    我的代码在 Firefox 中运行完美 但在 IE 中给出错误 有任何想法吗 我有一个包含各种选项的下拉列表 我试图根据所选值在另一个下拉列表中显示 隐藏选项 function selectNames var Name SelectName
  • WDK (Windows Driver Kit) 和 VC++ 头文件问题

    我正在尝试从 USB HID 设备读取数据 我知道如何使用 DLLImport hid dll 在 C 中执行此操作 但我想从 C 执行此操作 这样我就不必声明所有结构等 并且只包含头文件 所以我下载了WDK然后 当包含头文件并链接库时 我
  • Chrome://inspect#devices 找不到用于 USB 调试的设备

    Chrome inspect devices 找不到用于 USB 调试的设备 在 Android 上 关闭 USB 调试 然后将其打开 在 Android 上确认 允许 USB 调试 弹出窗口后 检查页面仍然显示 待验证 请接受设备上的调试
  • 收到ajax结果后打开一个弹出框

    我有一个 ajax 代码 可以正常工作并给出所需的结果 我想修改这段代码 并希望当收到来自 ajax 的回复时 应该打开一个弹出 模式框 我可以通过单击按钮打开弹出 模式框
  • 在生产服务器上使用地理编码器

    我正在开发一个基于位置的应用程序 我需要一个可靠的来源来获取地理定位 现在我正在使用这个geocoder plugin 我收到此错误 Geocoding API not responding fast enough see Geocoder
  • 无法打印到 pdf ggplot 图表 [重复]

    这个问题在这里已经有答案了 可能的重复 从 R 函数内生成多个图形 非常奇怪的事情发生在我身上 以下代码无法打印到 pdf 设备 outnames lt c 1 pdf 2 pdf for n in outnames pdf n qplot
  • 使用 jQuery 递归更改元素类型,为什么它部分工作?

    源节点 div class tree div class item a href href class toggle a a href href class name Name a div class collapse div class
  • 更改绘图箱线图悬停数据

    我想更改 python 绘图箱线图的悬停文本和悬停数据 我想要一个用于中位数 平均值 IQR 和日期的压缩悬停框 而不是 5 个单独的悬停框 分别表示最大值 q3 中位数 q1 和最小值 我尝试过每个 悬停 变量 但没有运气 我的示例代码如
  • svg insideHTML在firefox中无法显示

    我使用innerHTML添加svg元素 它在chrome中工作正常 但在firefox中无法显示 非常感谢您的回答