Skip to content

Instantly share code, notes, and snippets.

@xgqfrms-GitHub
Created June 4, 2017 16:26
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xgqfrms-GitHub/3db8891c7ef6f79ea1996f2a4d29f499 to your computer and use it in GitHub Desktop.
Save xgqfrms-GitHub/3db8891c7ef6f79ea1996f2a4d29f499 to your computer and use it in GitHub Desktop.
js spider & JavaScript 蜘蛛

JavaScript 蜘蛛

https://rollbar.com/docs/

const links = document.querySelectorAll(`ul.image-list a`);

let svg_name_arr = [];
let svg_url_obj = {};

for (let i = 0; i < links.length; i++) {
    if (links[i].getAttribute('class')) {
        let x = links[i].getAttribute('class');
        let y = links[i].setAttribute('download', `${i}-${x}`.svg)
        svg_name_arr.push(x);
        let img = getComputedStyle(links[i], '::before').getPropertyValue('background-image');
        let newImage = img.replace(/(url\(")|("\))/g,'');
        svg_url_obj[i] = newImage;
    }
}

console.log(`svg_name_arr = \n`, svg_name_arr);

console.log(`svg_url_obj = \n`, svg_url_obj);



/*
add new key to object javascript

https://stackoverflow.com/questions/1168807/how-can-i-add-a-key-value-pair-to-a-javascript-object

https://stackoverflow.com/questions/11057802/add-new-element-to-an-existing-object

http://pietschsoft.com/post/2015/09/05/JavaScript-Basics-How-to-create-a-Dictionary-with-KeyValue-pairs


https://javascript.info/object
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object



*/
svg_name_arr = [
    "ruby",
    "php",
    "node",
    "python",
    "net",
    "java",
    "golang",
    "laravel",
    "meteor",
    "clojure",
    "haskell",
    "erlang",
    "elixir",
    "google-cloud-platform",
    "perl",
    "r",
    "rust",
    "other",
    "javascript",
    "react",
    "angular",
    "angular",
    "ember",
    "backbone",
    "android",
    "ios",
    "ionic",
    "flash",
    "other",
    "fluentd",
    "logentries",
    "logstash",
    "mailgun",
    "other",
    "slack",
    "hipchat",
    "flowdock",
    "campfire",
    "github",
    "bitbucket",
    "gitlab",
    "jira",
    "trello",
    "github",
    "bitbucket",
    "gitlab",
    "pivotal",
    "asana",
    "sprintly",
    "pagerduty",
    "victorops",
    "opsgenie image-list",
    "datadog",
    "webhooks",
    "helpscout",
    "split",
    "bash",
    "bitbucket",
    "capistrano",
    "engineyard",
    "fabric",
    "heroku",
    "msbuild",
    "powershell",
    "octopus",
    "other",
    "ruby",
    "php",
    "node",
    "python",
    "net",
    "java",
    "golang",
    "laravel",
    "meteor",
    "clojure",
    "haskell",
    "erlang",
    "elixir",
    "google-cloud-platform",
    "perl",
    "r",
    "rust",
    "other",
    "javascript",
    "react",
    "angular",
    "angular",
    "ember",
    "backbone",
    "android",
    "ios",
    "ionic",
    "flash",
    "other",
    "fluentd",
    "logentries",
    "logstash",
    "mailgun",
    "other"
];


svg_url_obj = {
    0: "https://rollbar.com/assets/shared/logos/ruby-icon.svg",
    1: "https://rollbar.com/assets/shared/logos/php-icon.svg",
    2: "https://rollbar.com/assets/shared/logos/node-icon.svg",
    3: "https://rollbar.com/assets/shared/logos/python-icon.svg",
    4: "https://rollbar.com/assets/shared/logos/dotnet-icon.svg",
    5: "https://rollbar.com/assets/shared/logos/java-icon.svg",
    6: "https://rollbar.com/assets/shared/logos/go-icon.png",
    7: "https://rollbar.com/assets/shared/logos/laravel-icon.svg",
    8: "https://rollbar.com/assets/shared/logos/meteor-icon.svg",
    9: "https://rollbar.com/assets/shared/logos/clojure-icon.gif",
    10: "https://rollbar.com/assets/shared/logos/haskell-icon.png",
    11: "https://rollbar.com/assets/shared/logos/erlang-icon.png",
    12: "https://rollbar.com/assets/shared/logos/elixir-icon.png",
    13: "https://rollbar.com/assets/shared/logos/google-cloud-platform-icon.png",
    14: "https://rollbar.com/assets/shared/logos/perl-icon.svg",
    15: "https://rollbar.com/assets/shared/logos/r-icon.svg",
    16: "https://rollbar.com/assets/shared/logos/rust-icon.svg",
    17: "none",
    18: "https://rollbar.com/assets/shared/logos/javascript-icon.png",
    19: "https://rollbar.com/assets/shared/logos/react-icon.svg",
    20: "https://rollbar.com/assets/shared/logos/angular-icon.svg",
    21: "https://rollbar.com/assets/shared/logos/angular-icon.svg",
    22: "https://rollbar.com/assets/shared/logos/ember-icon.png",
    23: "https://rollbar.com/assets/shared/logos/backbone-icon.svg",
    24: "https://rollbar.com/assets/shared/logos/android-icon.svg",
    25: "https://rollbar.com/assets/shared/logos/apple-icon.svg",
    26: "https://rollbar.com/assets/shared/logos/ionic-icon.png",
    27: "https://rollbar.com/assets/shared/logos/actionscript-icon.png",
    28: "none",
    29: "https://rollbar.com/assets/shared/logos/fluentd-icon.svg",
    30: "https://rollbar.com/assets/shared/logos/logentries-icon.png",
    31: "https://rollbar.com/assets/shared/logos/logstash-icon.png",
    32: "https://rollbar.com/assets/shared/logos/mailgun-icon.png",
    33: "none",
    34: "https://rollbar.com/assets/shared/logos/slack-icon.png",
    35: "https://rollbar.com/assets/shared/logos/hipchat-icon.png",
    36: "https://rollbar.com/assets/shared/logos/flowdock-icon.png",
    37: "https://rollbar.com/assets/shared/logos/campfire-icon.png",
    38: "https://rollbar.com/assets/shared/logos/github-icon.png",
    39: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    40: "https://rollbar.com/assets/shared/logos/gitlab-icon.png",
    41: "https://rollbar.com/assets/shared/logos/jira-logo-horiz.png",
    42: "https://rollbar.com/assets/shared/logos/trello-icon.png",
    43: "https://rollbar.com/assets/shared/logos/github-icon.png",
    44: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    45: "https://rollbar.com/assets/shared/logos/gitlab-icon.png",
    46: "https://rollbar.com/assets/shared/logos/pivotal-icon.png",
    47: "https://rollbar.com/assets/shared/logos/asana-logo-vert.png",
    48: "https://rollbar.com/assets/shared/logos/sprintly-icon.png",
    49: "https://rollbar.com/assets/shared/logos/pagerduty-icon.png",
    50: "https://rollbar.com/assets/shared/logos/victorops-icon.svg",
    51: "https://rollbar.com/assets/shared/logos/opsgenie-icon.png",
    52: "https://rollbar.com/assets/shared/logos/datadog-icon.png",
    53: "https://rollbar.com/assets/shared/logos/webhooks-icon.png",
    54: "https://rollbar.com/assets/shared/logos/helpscout-icon.svg",
    55: "https://rollbar.com/assets/shared/logos/split-icon.png",
    56: "https://rollbar.com/assets/shared/logos/bash-icon.png",
    57: "https://rollbar.com/assets/shared/logos/bitbucket-icon.png",
    58: "https://rollbar.com/assets/shared/logos/capistrano-icon.png",
    59: "https://rollbar.com/assets/shared/logos/engineyard-logo-horiz.png",
    60: "https://rollbar.com/assets/shared/logos/fabric-icon.png",
    61: "https://rollbar.com/assets/shared/logos/heroku-icon.svg",
    62: "https://rollbar.com/assets/shared/logos/msbuild-icon.png",
    63: "https://rollbar.com/assets/shared/logos/powershell-icon.png",
    64: "https://rollbar.com/assets/shared/logos/octopus-icon.png",
    65: "none"
};
@xgqfrms-GitHub
Copy link
Author

xgqfrms-GitHub commented Jun 4, 2017

bugs

let y = links[i].setAttribute('download', `${i}-${x}`.svg);

// target is not a, it should ::before

TODO

create a/img & set url & download/auto click

@xgqfrms-GitHub
Copy link
Author

TODO

dynamically create a/img & set url & download link auto click

// todo

@xgqfrms
Copy link

xgqfrms commented Dec 28, 2020

canvas draw image

new Image src, html5 download

auto click

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment