変更元は
VectorDirectDL
二重にajaxでGETすることになる事と、テストを一個のページでしかしていない事に注意
重大なミス:複数バージョン存在するときの直リンクに不備有り 要修正
// ==UserScript== // @name VectorDirectDL // @description Vectorのページにダウンロードボタンを追加する // @version 2.0 // @namespace phodra // @include http://www.vector.co.jp/soft/* // @exsample http://www.vector.co.jp/soft/dl/win95/util/se169348.html // @exsample http://www.vector.co.jp/soft/dl/winnt/util/se100730.html // @original https://greasyfork.org/ja/scripts/7501-vectordirectdl // ==/UserScript== /* add //↓ファイル直リンクに入れ替え ~ //↑ファイル直リンクに入れ替え */ (function () { // リンクを追加する関数 var AppendLink = function (page) { var $page = $(page); // 挿入箇所 $inspos = $('h1'); // ダウンロードボタンと名前を取得 $btns = $page.find('a.btn.download'); $names = $page.find('td>strong.fn'); if ($names.size() == $btns.size()) { for (i = 0; i < $btns.size(); i++) { // ダウンローページヘのダイレクトリンクを作成 var $link = $('<a class=\'downloadlink\'/>'); $link.text($names.eq(i).text()); $link.attr('href', $btns.eq(i).attr('href')); //↓ファイル直リンクに入れ替え $.ajax({ type: 'GET', url: $btns.eq(i).attr('href'), success: function (data) { var $data = $(data); $elm = $data.find('#summary a'); if ($elm.size() > 0) { //alert($elm[0]); $link.attr('href', $elm[0]); } } }); //↑ファイル直リンクに入れ替え // ソフト名の下に挿入 $inspos.after($link); $inspos.after(' '); } } }; // ダウンロードタブのエレメント var $dltab = $('#v_step>.download'); if ($dltab.size() > 0) { // ダウンロードタブページを取得 $.ajax({ type: 'GET', url: $dltab.attr('href'), beforeSend: function (xhr) { xhr.overrideMimeType('text/html; charset=Shift_JIS'); }, success: function (data) { AppendLink(data); } }); } else { // すでにダウンロードタブページの場合 AppendLink(document); } }) ();