您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
add cross links between mobile, www2 and nForum views
// ==UserScript== // @name m.mysmth.net cross link // @description add cross links between mobile, www2 and nForum views // @include https://*.mysmth.net/* // @version 1.3.3 // @namespace https://gf.qytechs.cn/users/5696 // @grant none // @require https://code.jquery.com/jquery-3.5.1.min.js // ==/UserScript== function buildWww2BoardSearch(board) { return '<a href="https://www.mysmth.net/bbsbfind.php?board=' + board + '">搜索</a>'; } function buildMobileArticleLink(board, tid) { return '<a href="https://m.mysmth.net/article/' + board + '/single/' + tid + '/0">手机版</a>'; } function buildWww2ArticleDeleteLink(bid, tid) { return '<a href="https://www.mysmth.net/bbsdel.php?bid=' + bid + '&id=' + tid + '">www2</a>'; } function buildMobileThreadLink(board, gid, start, page) { if (start !== null) { return '<a href="https://m.mysmth.net/article/' + board + '/' + gid + '/?s=' + start + '">手机版</a>'; } page = (page !== null) ? '/?p=' + page : ''; return '<a href="https://m.mysmth.net/article/' + board + '/' + gid + page + '">手机版</a>'; } function buildNforumThreadLink(board, tid, page) { page = (page !== null && !isNaN(page)) ? '?p=' + page : ''; return '<a href="https://www.mysmth.net/nForum/#!article/' + board + '/' + tid + page + '">nForum</a>'; } function buildMobileThreadBoardLink(board, page) { page = (page !== null) ? '/?p=' + page : ''; return '<a href="https://m.mysmth.net/board/' + board + page + '">手机版</a>'; } function buildNforumThreadBoardLink(board, page) { page = (page !== null) ? '?p=' + page : ''; return '<a href="https://www.mysmth.net/nForum/#!board/' + board + page + '">nForum</a>'; } function buildGoForm() { $form = $('<form id="goform" action="/go" method="get" style="display: inline;"></form>'); $form.append('<input name="name" type="text" size=10>'); $form.append('<input type="submit" value="GO">'); return $form; } function buildLoginForm(multiline) { $form = $('<form id="loginform" action="/user/login" method="post"></form>'); $form.append('用户: <input id="userid" name="id" type="input">'); $form.append((multiline)?'<br/>':' '); $form.append('密码: <input id="passwd" name="passwd" type="password">'); $form.append((multiline)?'<br/>':' '); $form.append('<input class="loginbutton" id="TencentCaptcha" data-appid="2068091125" data-cbfn="captchaSuccess" type="button" value="刷新">'); $form.append('<input name="ticket" id="ticket2" value="" type="hidden">'); $form.append('<input name="randstr" id="randstr2" value="" type="hidden">'); return $form; } function mobileLogin() { $(".loginbutton").off('click').attr("value", "正在登陆"); $.ajax({ url: "https://m.mysmth.net/user/login", method: "POST", data: $(this).parents('form').serialize(), complete: function() { window.location.href = window.location.href+(window.location.href.includes("?")?"&":"?") + "reload="+Date.parse(new Date()); }, error: function(xhr, status, error) { console.log(status); alert(error); }, success: function(doc, status, xhr) { $(".loginbutton").attr("value", "提交成功 正在刷新"); } }); } function patchMobile() { if(!$("#TencentCaptcha").length) { var e = $(".sp.hl.f"); if (e.length) { if ( e.text() == "您没有绑定手机号码,没有发表文章的权限" || e.text() == "您无权阅读此版面" ) { e.append(buildLoginForm(true)); $(".loginbutton").click(mobileLogin); return } } if(!$(".menu.nav").children("a[href*='logout']").length) { $(".menu.nav").prepend(buildLoginForm(false)); $(".loginbutton").click(mobileLogin); } } e = document.getElementsByClassName('menu nav') [0]; if (e.children.length == 9) { var str = ''; if (e.children[4].innerHTML.length > 2) str += e.children[4].outerHTML + '|'; if (e.children[5].innerHTML.length > 2) str += e.children[5].outerHTML + '|'; if (e.children[6].innerHTML.length > 2) str += e.children[6].outerHTML; if (str.length > 0) document.getElementsByClassName('sec nav') [0].innerHTML += '||' + str; } $(".menu.sp").append(e.outerHTML.replace('"TencentCaptcha"', '"TencentCaptcha2"')); $(".loginbutton").click(mobileLogin); $("form input[value='快速回复']").closest("div").remove(); $(".menu.sp a[style]").replaceWith(buildGoForm()); s = document.getElementsByTagName('script'); for (var i = 1; i < s.length; i++) { s[i].parentNode.removeChild(s[i]); } var slist = document.getElementsByClassName('slist sec') [1]; var linklist = { links: [], ptr: -1 }; var httpRequest = new XMLHttpRequest(); httpRequest.responseType = 'document'; httpRequest.onreadystatechange = function () { if (httpRequest.readyState === 4 && httpRequest.status === 200) { if(linklist.ptr < 0) { linklist.links = httpRequest.response.getElementsByClassName('nav sec') [0].children; linklist.ptr++; } else { var slist2 = httpRequest.response.getElementsByClassName('slist sec') [0]; slist.parentNode.insertBefore(slist2, slist.nextSibling); slist = slist2; } if (linklist.ptr >= linklist.links.length) { return; } linklist.ptr++; var url = "https://m.mysmth.net" + linklist.links[linklist.ptr].getAttribute('href'); httpRequest.open('GET', url, true); httpRequest.send(); } }; var url = "https://m.mysmth.net/hot"; httpRequest.open('GET', url, true); httpRequest.send(); } function patchMobileThreadBoard() { var match = /https?:\/\/m\.mysmth\.net\/board\/(\w+)(\/?\?p=(\d+))?/.exec(document.URL); var board = match[1]; var page = match[3]; var nav = document.getElementsByClassName('nav sec') [0]; nav.innerHTML = nav.innerHTML + '||' + buildNforumThreadBoardLink(board, page) + '||' + buildWww2BoardSearch(board); //list list = document.getElementsByClassName('list sec') [0].children; for (var i = 0; i < list.length; i++) { li = list[i]; t = li.children[0]; a = li.children[1]; d = a.textContent.substring(0, 10); var ta1 = t.childNodes[0]; var ta2 = document.createElement('a'); var ta3 = a.children[0]; var ta4 = a.children[1]; var span = document.createElement('span'); ta1.title = li.textContent; if(d.match(/^\d{4}-\d{2}-\d{2}$/) && Date.now()-Date.parse(d) > 7*24*60*60*1000) { ta1.text = "(坟)"+ta1.text; } ta2.text = t.childNodes[1].textContent; ta2.href = ta1.href + '?p=' + Math.floor(parseInt(/\((\d+)\)/.exec(t.childNodes[1].textContent) [1]) / 10 + 1); t.replaceChild(ta2, t.childNodes[1]); t.appendChild(span); span.appendChild(ta3); span.appendChild(ta4); $(span).css("font-size", "x-small"); $(span).find("a").css("margin-left", "5px"); li.removeChild(a); } } function patchMobileThread() { var match = /https?:\/\/m\.mysmth\.net\/article\/(\w+)\/(\d+)(\?p=(\d+))?/.exec(document.URL); var board = match[1]; var gid = match[2]; var page = match[4]; var start = 0; $('.nav.hl').each(function() { $(this).find("a[href*='/forward/']").each(function() { match = /\/\w+\/forward\/(\d+)/.exec($(this).attr("href")); start = match[1]; $(this).append('|' + buildMobileArticleLink(board, start).replace('手机版', '单文')) $(this).append('|' + buildWww2ArticleDeleteLink(board, start).replace('www2', '删除')) }); }); $(".nav.sec").first().append('||' + buildNforumThreadLink(board, gid, page) + '||' + buildWww2BoardSearch(board)); } function patchMobileArticle() { var match = /https?:\/\/m\.mysmth\.net\/article\/(\w+)\/(\d+)\?s=(\d+)/.exec(document.getElementsByClassName('sec nav') [0].childNodes[2].href); var board = match[1]; var gid = match[2]; var start = match[3]; var nav = document.getElementsByClassName('nav sec') [0]; nav.innerHTML = nav.innerHTML + '||' + buildNforumThreadLink(board, gid) + '||' + buildWww2BoardSearch(board); } function patchMobileArticleBoard() { var match = /https?:\/\/m\.mysmth\.net\/board\/(\w+)\/0(\?p=(\d+))?/.exec(document.URL); var board = match[1]; var page = match[3]; var nav = document.getElementsByClassName('nav sec') [0]; nav.innerHTML = nav.innerHTML + '||' + buildNforumThreadBoardLink(board) + '||' + buildWww2BoardSearch(board); } function patchMobilePost() { var btns = document.getElementsByClassName('btn') [0].parentElement; var button = document.createElement('input'); button.type = 'button'; button.value = 'IMG'; button.className = 'btn'; button.onclick = function () { var textarea = document.getElementsByName('content') [0]; var newvalue = textarea.value.substring(0, textarea.selectionStart); newvalue += '[img='; newvalue += textarea.value.substring(textarea.selectionStart, textarea.selectionEnd); newvalue += '][/img]' newvalue += textarea.value.substring(textarea.selectionEnd); textarea.value = newvalue; } } function patchWww2FindResult() { var match = /https?:\/\/www\.mysmth\.net\/bbsbfind\.php\?.*\bboard=(\w+)\b/.exec(document.URL); var board = match[1]; var links = $("a[href*='bbscon']").each(function() { var id = /\bid=(\d+)/.exec($(this).attr("href"))[1] $(this).attr("href", "https://m.mysmth.net/article/"+board+"/single/"+id+"/0"); }); } function patchNforumThread() { var match = /https?:\/\/www\.mysmth\.net\/nForum\/#!article\/(\w+)\/(\d+)(\?p=(\d+))?/.exec(document.URL); var board = match[1]; var gid = match[2]; var page = match[4]; var nav = document.getElementById('notice'); nav.innerHTML += '  【' + buildMobileThreadLink(board, gid, null, page).replace('href', 'onclick="javascript: window.location=this.href" href') + '】'; } function patchNforumThreadBoard() { var match = /https?:\/\/www\.mysmth\.net\/nForum\/#!board\/(\w+)(\/?\?p=(\d+))?/.exec(document.URL); var board = match[1]; var page = match[3]; var nav = document.getElementById('notice'); nav.innerHTML += '  【' + buildMobileThreadBoardLink(board, page).replace('href', 'onclick="javascript: window.location=this.href" href') + '】'; } if (document.URL.match(/^https?:\/\/m\.mysmth\.net\/\W?/)) { patchMobile(); } if($(".menu.sp").text().includes("发生错误")) { // do nothing } else if (document.URL.match(/https?:\/\/wap\.mysmth\.net\/index/)) { window.location.href = "https://m.mysmth.net/index"; } else if (document.URL.match(/https?:\/\/m\.mysmth\.net\/article\/\w+\/(\d+)/)) { patchMobileThread(); } else if (document.URL.match(/https?:\/\/m\.mysmth\.net\/board\/\w+\/0(\?p=(\d+))?/)) { patchMobileArticleBoard(); } else if (document.URL.match(/https?:\/\/m\.mysmth\.net\/board\/\w+(p=(\d+))?/)) { patchMobileThreadBoard(); } else if (document.URL.match(/https?:\/\/m\.mysmth\.net\/article\/\w+\/single\/(\d+)/)) { patchMobileArticle(); } else if (document.URL.match(/https?:\/\/m\.mysmth\.net\/article\/\w+\/post/)) { patchMobilePost(); } else if (document.URL.match(/https?:\/\/m\.mysmth\.net\/article\/\w+\/edit/)) { patchMobilePost(); } else if (document.URL.match(/https?:\/\/www\.mysmth\.net\/bbsbfind\.php\?.*\bboard=(\w+)\b/)) { patchWww2FindResult(); } else if (document.URL.match(/https?:\/\/www\.mysmth\.net\/nForum\/#!article\/(\w+)\/(\d+)/)) { patchNforumThread(); } else if (document.URL.match(/https?:\/\/www\.mysmth\.net\/nForum\/#!board\/(\w+)/)) { patchNforumThreadBoard(); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址