您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add a download button in app.vagrantup.com
- // ==UserScript==
- // @id vagrant-box-download-helper@senhtry
- // @name Vagrant Box Download Helper
- // @version 1.0
- // @author senhtry
- // @description Add a download button in app.vagrantup.com
- // @include https://app.vagrantup.com/*
- // @run-at document-end
- // @namespace https://greasyfork.org/users/81130
- // ==/UserScript==
- main();
- function main() {
- var elementList = document.querySelectorAll(".media-list .list-group-item");
- for (var i = 0; i < elementList.length; i++) {
- addDownloadButton(elementList[i]);
- }
- }
- function addDownloadButton(element) {
- var versionHref = element.href;
- var div = document.createElement('div');
- div.className ='btn-group btn-group-xs"';
- div.style.cssText= 'margin-top: 10px;';
- var btn = document.createElement('button');
- btn.className = 'btn btn-default dropdown-toggle';
- btn.setAttribute("type","button");
- btn.setAttribute("aria-haspopup", "true");
- btn.setAttribute("aria-expanded", "false");
- btn.setAttribute("data-toggle", "dropdown");
- btn.innerHTML = 'download<span class="caret"></span>';
- var ul = document.createElement('ul');
- ul.className = 'dropdown-menu';
- var proList = element.querySelectorAll(".col-md-3 span.label-inline");
- var version = element.querySelector(".col-md-5 small").innerHTML.trim().replace(/\s+/g, '').replace(/<.*$/g, '');
- for (var i = 0; i < proList.length; i++) {
- var pro = proList[i].innerHTML.trim().replace(/\s+/g, '').replace(/<.*$/g, '');
- var url = versionHref +"/versions/" + version + '/providers/' + pro + '.box';
- var li = document.createElement('li');
- var a = document.createElement('a');
- a.setAttribute('href', url);
- a.innerHTML = pro;
- li.appendChild(a);
- ul.appendChild(li);
- }
- div.appendChild(btn);
- div.appendChild(ul);
- element.appendChild(div);
- }