草庐IT

javascript - 可靠地检测 <img> 标签对 SVG 的支持

我目前正在对网站进行一些重新设计,基本上只是将其升级到更新的外观并尝试使其尽可能独立于分辨率,以独立于分辨率的名义我想我会尝试在浏览器支持SVG图像的设计中使用SVG图像标签。我想在中坚持只使用SVG的原因标签而不是使用一些更雄心勃勃的解决方案是AFAIKChrome、Opera和Safari都支持它,而FF4似乎最终可能会得到它以及整个网站建立在自定义CMS上的事实必须部分重写以开始更改输出HTML(目前它支持自定义设计图像、自定义CSS和自定义JS,包括每个主题)。现在,我自己在网上浏览了一下,试图找出执行此操作的最佳方法,出于某种原因,我发现几乎所有建议的解决方案都效果不佳(其中

javascript - 使用 img 标签加载不受信任的 SVG 时的 XSS

使用img加载不受信任的SVG文件时是否存在XSS威胁?标签?如:我读到大多数浏览器在通过img加载的svg文件中禁用脚本标签。 最佳答案 这曾经在某些浏览器中有效,但现在不行了。但是有一个相关的问题。如果我作为一个不知情的用户,右键单击并下载图像,然后在本地打开它,它很可能会在浏览器中打开并运行脚本。考虑到它是一张图片,这有点奇怪。我想如果您右键单击并选择“查看图像”也可能导致脚本运行,因为您直接打开了它。 关于javascript-使用img标签加载不受信任的SVG时的XSS,我们在

javascript - SVG 路径上的 bool 运算

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion截至2014年初,SVG规范没有对bool运算的任何内置支持bool运算是改变大部分重叠路径的固有几何形状的方法。它们允许通过对更简单的形状执行操作来构建复杂的形状,并且在某种程度上类似于ConstructiveSolidGeometr

javascript - 如何使用 D3 在 Angular 中使用 'this'?

说实话;当Angular将this绑定(bind)到类(组件/服务)时,如何处理引用D3对象的this?我希望在Angular(v.4)应用程序中使用D3.js(v.4)。我的代码在独立的JavaScript中运行,但我现在需要将它集成到Angular应用中。this的使用让我感到困惑。我有一个我想拖动的SVG组,所以我使用.call(drag)someFunction(){this.unitGroup=this.svg.append('g').attr('id','unitGroup');.call(drag)}当我尝试引用正在拖动的svg元素时,我的问题就出现了。在我的原始代码中,

javascript - 使用 Javascript 将 GeoJSON 转换为 SVG

是否有即用型Javascript插件可以将GeoJSON字符串转换为SVG字符串?渲染引擎,如Tempo,或项目JsonT会很有用,但我需要模板才能使它们正常工作。 最佳答案 您可以使用d3.js图书馆。以下代码片段将完成这项工作:在你的html文件中包含d3.js假设,您的html文件中有带有id映射的div:以下js代码会将map添加到您的divmap。geoJsonObj是您的geojson。varsvg=d3.select("#map").append("svg").attr("width",width).attr("hei

javascript - 哪个 JavaScript 库可以对贝塞尔曲线进行 bool 运算?

是否存在可以对路径(贝塞尔曲线)执行bool运算的Javascript库?我知道Paper.js和Raphael.js,但它们现在都不能执行这些操作。 最佳答案 Paper.js现在在其核心中有bool运算:https://github.com/paperjs/paper.js/blob/master/src/path/PathItem.Boolean.js在这里您可以看到正在执行的操作:http://assets.paperjs.org/boolean/ 关于javascript-哪个

javascript - 将 Google Chart 保存为 SVG?

新的GoogleChartAPI将图表创建为SVG(而不是过去的PNG)。我希望能够保存生成的SVG。我该怎么做?如果我使用Chrome检查页面上的元素,我可以找到包含SVG的svg标签。我希望能够使用JavaScript获取生成的SVG。我不希望在HTML源代码中搜索JavaScript中的svg标记,如果有一种方法可以直接从图表对象(也许是ChartWrapper类?)获取SVG字符串,那会更好。 最佳答案 显然,这不受GoogleChartsAPI支持(引用1、2和3)。我创建了以下hack来获取SVG字符串作为解决方法。以下

javascript - SVG <脚本> 元素 : inside or outside?

我看到标签可以在svg标签(ref)中使用。此外,svg标签内的元素可以通过标签外的JavaScript访问,因为它们是DOM的一部分。我找不到关于哪个更好的详细信息。通常,我将所有JS代码保存在单独的文件中,并在html中包含引用。我也可以对针对svg元素的脚本做同样的事情吗?另外,我读到我还可以在svg标签内提供指向外部JS文件的链接。更清楚地说,假设我有一个网页(html5),其中嵌入了svg标签。svg包含几个基本形状,我需要鼠标交互。我可能会使用jQuery,但不会使用其他外部插件。您会建议将所有JavaScript(用于svg外部和内部的元素)保存在一个文件中,还是将svg

javascript - d3 附加带有 svg 扩展名的图像

我正在尝试将扩展名为“.svg”的svg图像添加到我的图表(另一个使用d3创建的svg图像)。这是代码:d3.select("#chart1svg").append("svg:image").attr("xlink:href","img/icons/sun.svg").attr("width",40).attr("height",40).attr("x",228).attr("y",53);如您所见,我正在设置“xlink:href”属性,但d3在浏览器中将其更改为href:事实上,如果我使用png扩展,这段代码可以完美运行。有什么想法吗? 最佳答案

svg - SVG组的不透明度/半透明度可以一起调整吗?

我有一个包含多个组件的SVG“g”对象。我想使整个事物部分透明(例如alpha=0.5),如果可能的话,我也想变得更暗。我知道可以调整单独的填充颜色,但如何将所有填充颜色一起调整,可能在“g”(分组)结构的某些参数中。 最佳答案 改变opacity的(通过opacity="..."属性,或opacityCSS规则)将导致首先合成组的内容,然后降低结果的不透明度。请注意,这与降低组内所有元素的不透明度明显不同(您也可以通过CSS执行此操作):演示:http://jsfiddle.net/HZr7v/12/使用这个SVG:...使用这个