您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ニコニコ大百科の記事右側にメニューを追加します
// ==UserScript== // @name Add Nicopedia Menu // @namespace Add Nicopedia Menu // @description ニコニコ大百科の記事右側にメニューを追加します // @author sotoba // @match https://dic.nicovideo.jp/* // @version 1.0.1-20181103 // @homepageURL https://github.com/SotobatoNihu/AddNicopediaMenu // @license MIT License // @grant GM.getResourceUrl // @resource nicoIcon https://dic.nicovideo.jp/oekaki/22690.png // @resource googleIcon https://dic.nicovideo.jp/oekaki/15633.png // @resource wikiIcon https://dic.nicovideo.jp/oekaki/17668.png // @resource yahooIcon https://dic.nicovideo.jp/oekaki/17680.png // @resource seigaIcon https://dic.nicovideo.jp/oekaki/122809.png // @resource ch2Icon https://dic.nicovideo.jp/oekaki/167179.png // @resource pixivIcon https://dic.nicovideo.jp/oekaki/109891.png // @resource ichibaIcon https://dic.nicovideo.jp/oekaki/30296.png // @resource communityIcon https://dic.nicovideo.jp/oekaki/9203.png // @resource commonsIcon https://dic.nicovideo.jp/oekaki/16255.png // ==/UserScript== const MENUID = 'nicopedia-menu' const drowMenu = async (word, width) => { const menuElem = document.getElementById(MENUID) //単語の空白をアンダーバーに const modifyWord = word.replace(' ', '_') //アイコンの描画に Greasemonkeyのキャッシュ機能を使用 Promise.all([ await GM.getResourceUrl("nicoIcon"), await GM.getResourceUrl("googleIcon"), await GM.getResourceUrl("wikiIcon"), await GM.getResourceUrl("yahooIcon"), await GM.getResourceUrl("seigaIcon"), await GM.getResourceUrl("ch2Icon"), await GM.getResourceUrl("pixivIcon"), await GM.getResourceUrl("ichibaIcon"), await GM.getResourceUrl("communityIcon"), await GM.getResourceUrl("commonsIcon") ]).then(Icons => { const nicoIcon = Icons[0] const googleIcon = Icons[1] const wikiIcon = Icons[2] const yahooIcon = Icons[3] const seigaIcon = Icons[4] const ch2Icon = Icons[5] const pixivIcon = Icons[6] const ichibaIcon = Icons[7] const communityIcon = Icons[8] const commonsIcon = Icons[9] // HTMLをベタ書き(アイコンデータは埋め込み) menuElem.innerHTML = ` <img src="/img/l_box_t.gif" class="border" style="width: ${width}px"> <ul> <li> <a href="https://www.nicovideo.jp/search/${modifyWord}">「${modifyWord}」でキーワード検索 <img title="キーワード検索" style="vertical-align: middle;" alt="niconico" src="${nicoIcon}" width="15" height="15"></a></br> <a href="https://www.nicovideo.jp/tag/${modifyWord}">「${modifyWord}」でタグ検索 <img title="タグ検索" style="vertical-align: middle;" alt="niconico" src="${nicoIcon}" width="15" height="15"></a> <li>外部サイトで検索</br> <a href="http://www.google.co.jp/search?hl=ja&q=${word}"><img title="Google" style="vertical-align: middle;" alt="google" src="${googleIcon}" width="15" height="15"></a> <a href="http://ja.wikipedia.org/wiki/${word}"><img title="Wikipedia" style="vertical-align: middle;" alt="Wikipedia" src="${wikiIcon}"width="15" height="15"></a> <a href="http://search.yahoo.co.jp/search?ei=UTF-8&p=${word}"><img title="Yahoo! Japan" style="vertical-align: middle;" alt="Yahoo!Japan"src="${yahooIcon}"width="17" height="15"></a> <a href="http://find.2ch.net/?BBS=2ch&IE=UTF-8&TYPE=TITLE&STR=${word}"> <img title="2ch" style="vertical-align: middle;" alt="2ch"src="${ch2Icon}"width="15" height="15"></a> / <a href="http://seiga.nicovideo.jp/search/illust/tag/${word}"><img title="静画" style="vertical-align: middle;" alt="ニコニコ静画" src="${seigaIcon}"width="15" height="15"></a> <a href="http://www.pixiv.net/search.php?s_mode=s_tag&word=${word}"><img title="pixiv" style="vertical-align: middle;" alt="Pixiv" src="${pixivIcon}" width="15" height="15"></a> <a href="http://search.pipa.jp/?KWD=${word}">2じげん</a> / </br> <a href="http://ichiba.nicovideo.jp/search/az/${word}"><img title="ニコニコ市場" style="vertical-align: middle;" alt="ニコニコ市場" src="${ichibaIcon}" width="15" height="15"></a> <a href="http://com.nicovideo.jp/search/${word}?mode=s"><img title="ニコニココミュニティ" style="vertical-align: middle;" alt="ニコニココミュニティ" src="${communityIcon}" width="15" height="15"></a> <a href="http://www.niconicommons.jp/search/${word}"><img title="ニコニ・コモンズ" style="vertical-align: middle;" alt="ニコニ・コモンズ" src="${commonsIcon}" width="15" height="15"></a> / </li> <li>50音全記事 <a href="https://dic.nicovideo.jp/m/a/a"> 単語記事 </a> / <a href="https://dic.nicovideo.jp/m/a/l"> 生放送記事 </a> </li> <li>最近更新された <a href="https://dic.nicovideo.jp/m/u/a/1-"> 単語記事 </a> / <a href="https://dic.nicovideo.jp/m/u/v/1-"> 動画記事 </a> / <a href="https://dic.nicovideo.jp/m/u/i/1-"> 商品記事 </a> / </br> <a href="https://dic.nicovideo.jp/m/u/u/1-"> ユーザ記事 </a> / <a href="https://dic.nicovideo.jp/m/u/c/1-"> コミュ記事 </a> / <a href="https://dic.nicovideo.jp/m/u/l/1-"> 生放送記事 </a> / </br> <a href="https://dic.nicovideo.jp/m/n/res/1-"> 書き込み </a> / <a href="https://dic.nicovideo.jp/m/n/oekaki/1-"> お絵カキコ </a> / <a href="https://dic.nicovideo.jp/m/n/mml/1-"> ピコカキコ </a> / </li> <li> <a id="backgroud_default" style="display: none;" href="" onClick="maincss('/nd2.css');return false;">背景をデフォルトに戻す</a> <a id="backgroud_mokume" style="" href="" onClick="maincss('/ndx.css');return false;">背景を木目にする</a> </li> <li> <a id="use_flashpico" style="display: none;" href="" onClick="pikoplayer('flash');return false;">古いピコカキコ(flash版)を使う</a> <a id="use_htmlpico" style="" href="" onClick="pikoplayer('html5');return false;">新しいピコカキコ(html5版)を使う</a> </li> <li> <a href="https://dic.nicovideo.jp/">トップ</a> / <a href="https://dic.nicovideo.jp/p/my/">マイページ</a> / <a href="https://dic.nicovideo.jp/p/logout/">ログアウト</a> </li> </ul> <img src="/img/r_box_b2.gif" class="menu-border"> ` /** * pikoplayerIsは大百科で通常読み込まれる関数 * pikoplayerIsを元に「ピコカキコ××を使う」の最初の表示を切り替える */ if (pikoplayerIs('flash')) { document.getElementById('use_flashpico').style.display = 'none' document.getElementById('use_htmlpico').style.display = 'block' } else { document.getElementById('use_flashpico').style.display = 'block' document.getElementById('use_htmlpico').style.display = 'none' } /** * 現在のレイアウトを元に「背景を××にする」の最初の表示を切り替える */ if (document.getElementById('header').style.backgroundRepeat === null) { document.getElementById('backgroud_mokume').style.display = 'none' document.getElementById('backgroud_default').style.display = 'block' } else { document.getElementById('backgroud_mokume').style.display = 'block' document.getElementById('backgroud_default').style.display = 'none' } /** * CSSの変更を監視し * ヘッダーのメニューにある「背景を××にする」の表示と連動する */ const target = document.getElementById("maincss_ndx"); const observeOption = { attributes: true, attributeFilter: ['style'] }; const observer = new MutationObserver(mutations => { if (mutations[0].target.style.cssText.length > 0) { document.getElementById('backgroud_mokume').style.display = 'none' document.getElementById('backgroud_default').style.display = 'block' } else { document.getElementById('backgroud_mokume').style.display = 'block' document.getElementById('backgroud_default').style.display = 'none' } }); observer.observe(target, observeOption); }) } // document.addEventListener('DOMContentLoaded', function () { window.onload = function () { //もしメニューがない場合は作成 if (document.getElementById(MENUID) === null) { const elm = document.createElement('div') elm.id = MENUID //右ペインの他メニューにクラスを合わせる elm.className = 'box' elm.style.height = 'auto' //空の要素を挿入 document.getElementById('right-column').insertAdjacentElement('afterbegin', elm) } //記事名を取得 const word = document.getElementById('search-box').value //横幅を取得 const width = document.getElementById('right-column').offsetWidth //メニューを表示 drowMenu(word, width) } // })
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址