Rule34 Favorite Button

Adds a more convenient favorite button to rule34.xxx

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

Advertisement:

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

Advertisement:

// ==UserScript==
// @name         Rule34 Favorite Button
// @version      1.1
// @description  Adds a more convenient favorite button to rule34.xxx
// @author       littlesmella
// @namespace    littlesmella
// @match        https://rule34.xxx/index.php?page=post&s=view&id=*
// @license      MIT
// @grant        none
// ==/UserScript==

(() => {
    'use strict';

    function getIdFromUrl() {
        const searchParams = new URLSearchParams(window.location.search);
        const paramValue = searchParams.get('id');
        return paramValue;
    }

    const sidebar = document.querySelector('.postViewSidebarRight');
    if (sidebar) {
        const id = getIdFromUrl();
        const favButton = document.createElement('a');
        const sidebarClass = sidebar.getAttribute('class');

        favButton.href = '#';
        favButton.textContent = "♥";
        favButton.setAttribute('onclick', `post_vote('${id}', 'up'); addFav('${id}'); return false;`);
        favButton.setAttribute('style', `font-size: 300px; text-align: center; display: block;`);

        sidebar.prepend(favButton);
        sidebar.setAttribute('class', `${sidebarClass} tag-type-artist`);
    } else {
        console.log('Sidebar not found');
    }
})();