您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically scroll down when new content is added to Kagi Assistant
- // ==UserScript==
- // @name Kagi Assistant Auto-Scroll
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description Automatically scroll down when new content is added to Kagi Assistant
- // @author You
- // @match *://kagi.com/assistant*
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- // The main container that holds the chat messages
- const targetSelector = '.main-center-box';
- // Function to scroll to bottom
- function scrollToBottom() {
- const container = document.querySelector(targetSelector);
- if (container) {
- container.scrollTop = container.scrollHeight;
- }
- }
- // Set up a mutation observer to watch for changes
- const observer = new MutationObserver((mutations) => {
- let shouldScroll = false;
- // Check if content was added
- mutations.forEach((mutation) => {
- if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
- shouldScroll = true;
- } else if (mutation.type === 'characterData') {
- shouldScroll = true;
- }
- });
- if (shouldScroll) {
- scrollToBottom();
- }
- });
- // Function to initialize the observer when the target element exists
- function initObserver() {
- const target = document.querySelector(targetSelector);
- if (target) {
- observer.observe(target, {
- childList: true,
- subtree: true,
- characterData: true
- });
- console.log('Kagi Assistant Auto-Scroll: Observer initialized');
- // Initial scroll to bottom
- scrollToBottom();
- } else {
- // If target doesn't exist yet, try again shortly
- setTimeout(initObserver, 1000);
- }
- }
- // Start the initialization process
- initObserver();
- // Also scroll on window resize
- window.addEventListener('resize', scrollToBottom);
- })();