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中无法显示 的相关文章

  • IFrame 内容交换错误?

    我有一个包含许多 iframe 的网页 包括第三方 iframe 例如广告感知和各种共享按钮 在 Firefox 中 我注意到这些 iframe 的内容有时会被交换 这样您就会在另一个 iframe 所在的位置看到广告感知广告 iframe
  • Firefox OS 后台服务

    我想构建一个应用程序 用户可以通过它输入一些设置 并且应用程序将启动后台服务来根据这些设置执行一些任务 我只想在模拟器中运行应用程序和后台服务 我知道它需要 认证 模式才能运行后台服务 但我现在不考虑在 Firefox Marketplac
  • SVG 文本元素上的 CSS 转换在 Safari 中不起作用

    尝试在父 SVG 中放置电池指示器 SVG
  • 将元素添加到 D3 圆包节点

    我正在尝试制作一个可缩放的圆形包装图 我希望每个子圆圈包含一个较小的图表 该图表始终具有相同的结构 即 4 列 只有条形的高度会改变 我尝试添加一个简单的rect到目前为止我的图表 但矩形没有添加到圆圈中并且是静态的 JS var marg
  • 编辑现有的 Firefox 插件

    对于我正在从事的项目之一 我必须使用 DOM Inspector 来调试 Firefox 扩展 DOM 检查器的问题在于 它只向您显示代码下方的浏览器 无法分离浏览器或并排显示代码部分或浏览器 它对我不起作用 因为我正在调试的插件有一个很大
  • RemoveEventListener 在 Firefox 版本 58 中不起作用

    但它在 Chrome 中有效 这是我的 UI EventBus 代码 原型 addEventListener方法是一样的 只不过remove换成了add UI EventBus removeEventListener function ob
  • 如何使用javascript通过类名更改html元素的值

    这是我用来更改 html 元素值的代码 a class classname href Vtech com This text to be chnage a 如何在页面加载瞬间更改此文本 看来你需要添加DOMContentLoaded或者把你
  • Firefox Add-on SDK:如何使面板透明

    开发 Firefox 插件 任何人都可以帮助弄清楚如何使面板透明 这是显示面板的代码 var panel require sdk panel Panel width 570 height 250 contentURL require sdk
  • 这个 HTML5
    元素有什么问题?

    div div
  • 分配函数后如何删除 onmouseout 事件?

    我有一个问题 我正在为 onmouseout 事件分配一个函数 但运行该事件后 我需要将其删除 将非常感谢您的帮助 这取决于你的代码 如果你用 d3 这样做 那么你可以说 在 onmouseout 事件函数中 element on mous
  • 如何指示 Applescript 打开带有链接的新 Firefox 窗口?

    我的代码看起来像这样 tell application Firefox open location http rubyquicktips tumblr com end tell 但如果我打开 Firefox 该链接将在新选项卡中打开 但我希
  • HTML 嵌入对象具有灰色背景。可以透明吗?

    我使用带有开源插件的 Firefox 来播放视频 视频被 尽可能好地 缩放以适应嵌入对象的宽度和高度中定义的可用空间 但有时右侧和 或底部会有一点灰色边框 看来这不是我的父 div 的背景颜色 因为更改它根本没有效果 这是 HTML div
  • FCM onMessage 无法在 Firefox 中工作,但可以在 chrome 中工作

    我的代码是工作完美在chrome上 版本103 0 5060 134 但是当我在firefox 103 0 上尝试时它不工作 Service Worker 注册成功 但无法接收通知 消息 控制台中没有显示错误 这是我的代码 顺便说一句 我正
  • 将 FireBug 用于带有框架的网站

    我下载了 Firebug 并尝试使用它来调试使用框架的站点的 JS 我的理解是 当我进入 Firebug 中的 脚本 选项卡时 我会看到 aspx 上的 JS 函数以及包含的任何文件中的 JS 并且我将能够设置断点 然而 我在这个网站上看到
  • 元素不适应 Firefox 上的

    使用 ES6 ish D3js 模块运行 Angular 6 应用程序会导致 Firefox 出现问题 Chromium Chrome Safari 和 IE Edge 工作正常 伪代码看起来类似于 生产代码可以在下面找到
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • 为什么函数声明在不同浏览器中的处理方式不同?

    虽然我在谷歌中找不到对此的引用 但我熟悉这样一个事实 在 javascript 中 全局函数声明在执行任何代码之前都会被解释 换句话说 这工作得很好 f function f 但是 我注意到 chrome 和 firefox 对全局函数声明
  • 如何在CSS中制作一个带有边框的可调整大小的心形

    我想要制作一个心形 用户可以将其大小调整为任意宽度和高度 并且边框为 1 像素 我尝试了用纯 CSS 制作的心形 https stackoverflow com a 17386187 1404447 https stackoverflow
  • 使用 Firefox 插件 sdk 的 nsISocketTransportService

    我正在尝试使用 Firefox 来读取 SSH 横幅 IE 当您最初连接到 SSH 服务器时 服务器会向您发送其横幅 标识服务器软件 并且您向 SSH 服务器发送您的横幅 标识您的客户端软件 为此 我使用以下 URL 中的示例 firefo
  • 使用 jQuery 选择具有数据属性的元素为其父元素分配一个 null ID

    这确实很奇怪 如果我使用 jQuery find 在滚动事件期间查找具有数据属性的子元素 然后滚动页面将重复添加和删除 IDparents这些元素 这很难描述 但这里有一个可重现的测试用例 http jsfiddle net 8fouvx9

随机推荐

  • 在 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中无法显示 非常感谢您的回答