从URL中提取q查询参数,填入对话框,提交搜索
< 脚本给deepseek网站添加q查询参数:chat.deepseek.com/?q={query}的反馈
可以正常使用,想了解,如何能够也类似地应用到kimi的查询界面?
看了下,kimi网站是vue写的,deepseek网站是react写的,这个脚本不能简单修改后移用。
你可以问问ai,怎么在vue页面中模拟输入、合成事件等。
// ==UserScript==
// @name 给kimi网站添加q查询参数:kimi.moonshot.cn/?q={query}
// @namespace http://tampermonkey.net/
// @version 2025-2-9
// @description 从URL中提取q查询参数,填入对话框,提交搜索
// @author smilingpoplar
// @match https://kimi.moonshot.cn/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=moonshot.cn
// @license MIT
// @grant none
// ==/UserScript==
(async () => {
'use strict';
const query = new URLSearchParams(window.location.search).get('q');
if (!query) return;
const waitForElement = (selector) => {
return new Promise((resolve) => {
const check = () => {
const elem = document.querySelector(selector);
if (elem) {
resolve(elem);
return true;
}
return false;
};
if (check()) return;
const observer = new MutationObserver(() => {
if (check()) {
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
};
const delay = (ms) => new Promise(res => setTimeout(res, ms));
try {
// 等待编辑器加载
const editor = await waitForElement('[data-lexical-editor="true"]');
await delay(1000);
// 只设置一次内容
editor.innerHTML = '
' + query + '
';
// 触发一次 input 事件
const inputEvent = new InputEvent('input', {
bubbles: true,
cancelable: true,
inputType: 'insertText',
data: query
});
editor.dispatchEvent(inputEvent);
await delay(500);
// 触发回车事件
const enterEvent = new KeyboardEvent('keydown', {
key: 'Enter',
code: 'Enter',
keyCode: 13,
which: 13,
bubbles: true,
cancelable: true
});
editor.dispatchEvent(enterEvent);
} catch (error) {
console.error('Error in Kimi chat input script:', error);
}
})();
在claude 3.5的帮助下,实现在kimi的窗口下,同样实现类似你的这个脚本的功能。
claude 3.5的帮助下,实现在kimi的窗口下,同样实现类似你的这个脚本的功能。
👍🏻 赞啊,试了下可以用。赶紧发布吧~
没啥,就是结合你原始代码,手工问了一下ai而已,你看一下没问题,你名下再多发布一个针对kimi的吧。
没啥,就是结合你原始代码,手工问了一下ai而已,你看一下没问题,你名下再多发布一个针对kimi的吧。
可以正常使用,想了解,如何能够也类似地应用到kimi的查询界面?