// ==UserScript==
// @name V2Next
// @namespace http://tampermonkey.net/
// @version 7.9.7
// @author zyronon
// @description 楼中楼、简洁模式、高赞回复排序、查看回复上下文、发送图片和表情、UI美化、base64 解码等功能
// @license GPL License
// @icon https://v2next.netlify.app/favicon.ico
// @homepage https://github.com/zyronon/web-scripts
// @homepageURL https://github.com/zyronon/web-scripts
// @supportURL https://update.gf.qytechs.cn/scripts/458024/V2Next.user.js
// @match https://v2ex.com/
// @match https://v2ex.com/?tab=*
// @match https://v2ex.com/t/*
// @match https://v2ex.com/recent*
// @match https://v2ex.com/go/*
// @match https://v2ex.com/member/*
// @match https://*.v2ex.com/
// @match https://*.v2ex.com/?tab=*
// @match https://*.v2ex.com/t/*
// @match https://*.v2ex.com/recent*
// @match https://*.v2ex.com/go/*
// @match https://*.v2ex.com/member/*
// @require https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.global.prod.js
// @grant GM_addStyle
// @grant GM_notification
// @grant GM_openInTab
// @grant GM_registerMenuCommand
// ==/UserScript==
(function (vue) {
'use strict';
function run(){
}
const _hoisted_2$f = { class: "modal-root" };
const _hoisted_3$b = { class: "modal-header" };
const _hoisted_4$b = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "title" }, " 脚本设置 ", -1));
const _hoisted_5$8 = { class: "body" };
const _hoisted_6$8 = { class: "left" };
const _hoisted_7$7 = { class: "tabs" };
const _hoisted_8$7 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("span", null, "列表设置", -1));
const _hoisted_9$7 = [
_hoisted_8$7
];
const _hoisted_10$6 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("span", null, "帖子设置", -1));
const _hoisted_11$6 = [
_hoisted_10$6
];
const _hoisted_12$6 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("span", null, "其他设置", -1));
const _hoisted_13$6 = [
_hoisted_12$6
];
const _hoisted_14$6 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("span", null, "关于脚本", -1));
const _hoisted_15$6 = [
_hoisted_14$6
];
const _hoisted_16$6 = { class: "modal-content" };
const _hoisted_17$5 = { class: "scroll" };
const _hoisted_18$5 = { key: 0 };
const _hoisted_19$4 = { class: "row" };
const _hoisted_20$4 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("label", { class: "item-title" }, "列表展示方式", -1));
const _hoisted_21$4 = { class: "wrapper" };
const _hoisted_22$3 = { class: "radio-group2" };
const _hoisted_23$3 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "desc danger" }, " 提示:此项需要刷新页面才能生效 ", -1));
const _hoisted_24$2 = { class: "row" };
const _hoisted_25$3 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("label", { class: "item-title" }, "列表hover时显示预览按钮", -1));
const _hoisted_26$2 = { class: "wrapper" };
const _hoisted_27$1 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "desc danger" }, " 提示:此项需要刷新页面才能生效 ", -1));
const _hoisted_28$1 = { class: "row" };
const _hoisted_29$1 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("label", { class: "item-title" }, "帖子弹框显示", -1));
const _hoisted_30$1 = { class: "wrapper" };
const _hoisted_31$1 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "desc" }, " 开启此选项后,帖子始终会以弹框的方式显示。优先级大于“新标签页打开链接” ", -1));
const _hoisted_32$1 = { class: "row" };
const _hoisted_33$1 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("label", { class: "item-title" }, "新标签页打开链接", -1));
const _hoisted_34$1 = { class: "wrapper" };
const _hoisted_35$1 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "desc" }, " 网页上所有链接通过新标签页打开 ", -1));
const _hoisted_36$1 = { key: 1 };
const _hoisted_37$1 = { class: "row" };
const _hoisted_38$1 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("label", { class: "item-title" }, "显示回复展示方式", -1));
const _hoisted_39$1 = { class: "wrapper" };
const _hoisted_40$1 = { class: "row" };
const _hoisted_41$1 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("label", { class: "item-title" }, "回复展示方式", -1));
const _hoisted_42$1 = { class: "wrapper" };
const _hoisted_43$1 = { class: "radio-group2" };
const _hoisted_44$1 = { class: "row" };
const _hoisted_45$1 = /* @__PURE__ */ _withScopeId$b(() => /* @__PURE__ */ vue.createElementVNode("label", { class: "item-title" }, "单独打开帖子时默认显示楼中楼", -1));
var css_248z$1 = ".__copy-button{align-items:center;background:#4c98f7;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:13px;height:30px;justify-content:center;opacity:0;position:absolute;transition:opacity .3s;width:60px;z-index:-1000}";
var css_248z = "#select-tooltip,#sfModal,.modal-backdrop,div[id^=reader-helper]{display:none!important}.modal-open{overflow:auto!important}._sf_adjust_body{padding-right:0!important}";
const DOM_STAGE = {
START: "document-start",
END: "document-end"
};
const DOM_READY = "DOMContentLoaded";
const PAGE_LOADED = "load";
const MOUSE_UP = "mouseup";
const MOUSE_DOWN = "mousedown";
const MOUSE_MOVE = "mousemove";
const COPY = "copy";
const SELECT_START = "selectstart";
const CONTEXT_MENU = "contextmenu";
const KEY_DOWN = "keydown";
const opt = Object.prototype.toString;
function isString(value) {
return opt.call(value) === "[object String]";
}
const dom$1 = {
query: function(selector) {
return document.querySelector(selector);
},
attr: function(selector, attr, value) {
const dom2 = document.querySelector(selector);
dom2 && dom2.setAttribute(attr, value);
},
append: function(selector, content) {
const container = document.createElement("div");
if (isString(content)) {
container.innerHTML = content;
} else {
container.appendChild(content);
}
const targetDOM = document.querySelector(selector);
targetDOM && targetDOM.append(container);
return container;
},
remove: function(selector) {
const targetDOM = document.querySelector(selector);
targetDOM && targetDOM.remove();
}
};
if (!isMobile) {
console.log("V2EX PC端");
run();
}
})(Vue);