Trying to parse two SVG attributes at the same time

浪尽此生 提交于 2019-11-27 08:49:00

问题


Sup guys. I've managed to get my code to do what I want perfectly with the const Lines. My main problem is that I'm trying to get the stroke value that matches the right points value. As you can tell my script parses the SVG from that URL and sends each points value with a post request. Is there anyway I could grab the matching stroke value when it get's the points value? Than use that with the request just like the l: (JSON.stringify(line))? So it will send the line with the matching stroke value in the request?? The Stroke value has to be in HEX format when it sends the request just like it displays in the stroke: EXAMPLE #30f011.

Also possibly be able to do the other attributes like this eventually? If needed let's say the stroke-Width?

In my script you can see in the request where I've added stroke This formats the hex code weird and only gets the first stroke value and no more after that. It stays the same??

xhr=new XMLHttpRequest();
xhr.open("GET", "http://colorillo.com/bwf7.inline.svg");
xhr.addEventListener("load", function() {
const xmlDoc = new DOMParser().parseFromString(
this.responseText.trim(),
"image/svg+xml"
);
const Lines = Array.from(xmlDoc.getElementsByTagName('polyline'), pl =>
pl.getAttribute('points').split(' ').map(pair =>
pair.split(',').map(Number)));

const styles = Array.from(xmlDoc.getElementsByTagName('polyline'), pl =>
pl.getAttribute('style').split(';'))[0];

let stroke = null;

for(let style of styles) {
let valueOffset = style.indexOf(':');
if(style.substr(0, valueOffset).trim() === 'stroke') {
    stroke = style.substr(valueOffset + 1).trim()
    break;
}
}

Lines.forEach(line => $.post("/draw.php?ing=_index", {
l: (JSON.stringify(line)),
w: ("1"),
c: (stroke), //Only seems to get the first HEX value of line. and that's it.... I need all for each matching ``line``
o: ("75"),
f: ("1"),
_: ("false")
                }));
});

xhr.send();

来源:https://stackoverflow.com/questions/56874363/trying-to-parse-two-svg-attributes-at-the-same-time

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!