您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Click the "Save" button to send the current URL to the API.
- // ==UserScript==
- // @name Save URL to API(bilibili)
- // @namespace http://tampermonkey.net/
- // @version 0.3
- // @description Click the "Save" button to send the current URL to the API.
- // @author You
- // @match https://www.bilibili.com/video/*
- // @grant GM_addStyle
- // @grant GM_xmlhttpRequest
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- GM_addStyle(`
- #bilibili-note-panel {
- position: absolute;
- z-index: 9999;
- background-color: #f0f0f0;
- color: #333;
- border: 1px solid #ccc;
- padding: 5px;
- border-radius: 8px;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
- opacity: 0.9;
- min-width: 150px;
- max-width: 200px;
- transition: transform 0.2s ease, opacity 0.2s ease;
- }
- #bilibili-note-panel.active {
- transform: scale(1.05);
- opacity: 1;
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
- }
- #bilibili-note-button {
- background-color: #FFB6C1;
- border: none;
- color: white;
- padding: 8px 16px;
- text-align: center;
- text-decoration: none;
- display: inline-block;
- font-size: 14px;
- margin: 0;
- cursor: pointer;
- border-radius: 6px;
- transition: background-color 0.3s ease;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
- white-space: nowrap;
- animation: button-pulse 1s infinite;
- }
- #bilibili-note-button:hover {
- background-color: #FF80AB;
- }
- @keyframes button-pulse {
- 0% { transform: scale(1); }
- 50% { transform: scale(1.02); }
- 100% { transform: scale(1); }
- }
- #save-url-button {
- background-color: #4CAF50; /* Green */
- border: none;
- color: white;
- padding: 8px 16px;
- text-align: center;
- text-decoration: none;
- display: inline-block;
- font-size: 14px;
- margin: 4px 2px;
- cursor: pointer;
- border-radius: 6px;
- }
- `);
- // 创建面板
- const panel = document.createElement('div');
- panel.id = 'bilibili-note-panel';
- document.body.appendChild(panel);
- // 创建 "Save" 按钮
- const saveButton = document.createElement('button');
- saveButton.id = 'save-url-button';
- saveButton.textContent = 'Save URL';
- panel.appendChild(saveButton);
- // 设置面板初始位置
- panel.style.top = '10px';
- panel.style.right = '10px';
- // 点击 "Save" 按钮事件
- saveButton.addEventListener('click', function() {
- const currentUrl = window.location.href;
- // 构建要发送的数据, 新增种类 bilibiliurl
- const data = {
- "api_endpoint": "url", // 你可以根据需要修改这个值
- "fixed_value": {
- "url": currentUrl,
- "type": "bilibili_latest_Episode"
- }
- };
- // 发送 POST 请求到 API
- GM_xmlhttpRequest({
- method: "POST",
- url: "http://localhost:8964/update_api", // API 服务器地址
- headers: {
- "Content-Type": "application/json"
- },
- data: JSON.stringify(data),
- onload: function(response) {
- console.log("API response:", response.responseText);
- if (response.status >= 200 && response.status < 300) {
- saveButton.textContent = 'Saved!';
- setTimeout(() => {
- saveButton.textContent = 'Save URL';
- }, 2000);
- } else {
- saveButton.textContent = 'Error!';
- setTimeout(() => {
- saveButton.textContent = 'Save URL';
- }, 2000);
- }
- },
- onerror: function(error) {
- console.error("API request failed:", error);
- saveButton.textContent = 'Error!';
- setTimeout(() => {
- saveButton.textContent = 'Save URL';
- }, 2000);
- }
- });
- });
- })();