Greasy Fork

花瓣搜索功能增强

对华为花瓣搜索进行功能增强

目前为 2022-01-12 提交的版本。查看 最新版本

// ==UserScript==
// @name         花瓣搜索功能增强
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  对华为花瓣搜索进行功能增强
// @author       那年那tu那些事
// @match        https://petalsearch.com/search*
// @icon         https://search-static-dra.dbankcdn.com/pc/v1/favicon.ico
// @grant        GM_addStyle
// @license       MIT
// ==/UserScript==

(function() {
	const localItemKey = "gemXL-scriptSettingData";

	function addSettingMenu(){
		var menu=$(".el-dropdown-menu");
		if(menu&&!menu.querySelector("#gemXL-scriptSettings")){
			var item=menu.firstElementChild.cloneNode(false);
			item.id="gemXL-scriptSettings";
			item.innerHTML="<span>脚本设置</span>";
			item.onclick=function(){
				alert("open menu");
			}
			menu.appendChild(item);
		}
	}
	function initSetData(setData) {
		var localData = localStorage.getItem(localItemKey);
		try {
			localData = JSON.parse(localData);
		} catch (e) {
			localData = {};
		}
		localData = typeof localData === "object" ? localData : {};
		return {
			...setData,
			...localData
		};
	}

	function saveSetData(setData) {
		localStorage.setItem(localItemKey, JSON.stringify(setData));
	}

	function addNewCss() {
		var maxWidth = 1039; //container的宽度-240再取整
		var itemWidth = (maxWidth - 20) / setData.listNum;
		var container_css = "{display:grid;grid-template-columns:repeat(" + setData.listNum + "," + itemWidth +
			"px);grid-template-rows:auto;grid-gap: 20px}";
		var item_css =
			"{min-height:150px;padding:15px 20px;margin:0!important;overflow:auto;border:1px rgba(0,0,0,0.05) solid;border-radius:5px;background-image: linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0))}";
		var ad_css = ".rating-web{display:none}";
		var navigation_css = ".s-pagination{max-width:" + maxWidth + "px!important}";
		var finnal_css = ".card-container" + container_css + ".card-container .webpageCard" + item_css +
			".card-container .webpageCard:hover{border-color:rgba(0,0,0,0.3)}" +
			".card-container .wiki-card" + item_css +
			".card-container .wiki-card:hover{border-color:rgba(0,0,0,0.3)}" + ad_css + navigation_css;
		console.log(finnal_css);
		GM_addStyle(finnal_css);
	}

	function changeResultNum() {
		var ps = /ps=([0-9]{1,})/i.exec(location.search);
		if (!RegExp(setData.resultNum).test(ps)) {
			var url = location.href;
			location.href = url.replace("&" + ps, "").replace(ps + "&", "") + "&ps=" + setData.resultNum;
		}
	}
	var setData = {
		listNum: 2, //列数
		resultNum: 20
	};
	setData = initSetData(setData);
	addNewCss();
	//changeResultNum();
	//window.onload=function(){addSettingMenu()};
})();