这个boost能不能点击确认的时候再校验字数?
- 内容介绍
- 文章标签
- 相关推荐
image740×174 19.1 KB
遇到个这个boost有长度限制,而mac上输入法输入的时候打拼音的时候就会把拼音的每个字母都算进去,加上长度限制导致最后几个文字没法输入到这个框里面。能不能去掉这个强制限制,改成像20字回复的提示+提交时检查字数
网友解答:--【壹】--:
电脑可以用脚本优化一下:
boost 中文输入优化
// ==UserScript==
// @name Linux.do Boost 中文输入优化
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 解决 linux.do boost 输入框中文输入法字数统计问题,避免输入法候选词阶段被计入字数限制
// @author You
// @match https://linux.do/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
// 检查是否为目标输入框
function isBoostInput(element) {
return element && element.classList && element.classList.contains('discourse-boosts__input');
}
// 使用捕获阶段监听,确保在原网站的事件处理之前执行
document.addEventListener('compositionstart', function(e) {
if (isBoostInput(e.target)) {
// 标记进入输入法编辑状态
e.target.dataset.composing = 'true';
}
}, true);
document.addEventListener('compositionend', function(e) {
if (isBoostInput(e.target)) {
e.target.dataset.composing = 'false';
// 输入法结束后,手动触发 input 事件让原网站更新字数统计
// 使用 setTimeout 确保输入法已完全结束并更新 DOM
setTimeout(() => {
const event = new InputEvent('input', {
bubbles: true,
cancelable: true,
inputType: 'insertText',
data: e.data // 最终输入的字符
});
e.target.dispatchEvent(event);
}, 0);
}
}, true);
// 拦截 input 事件,如果在输入法编辑状态则阻止传播
document.addEventListener('input', function(e) {
if (isBoostInput(e.target)) {
// 检查是否处于输入法编辑状态(通过标记或原生属性)
if (e.target.dataset.composing === 'true' || e.isComposing) {
// 阻止事件继续传播,防止原网站的字数限制逻辑执行
e.stopImmediatePropagation();
e.stopPropagation();
}
}
}, true);
})();
或者这个方案也相当 nice:
一个增强Boost体验的油猴脚本【统计字数,智能分流】,以及关于boost与短回复分流的一点建议 运营反馈从调整帖子最小长度 继续讨论 先说脚本: 脚本做了什么? 1.显示字数 [截屏2026-04-07 16.25.38] 2.优化体验 [1] 逻辑: 1.20 字以下,不立刻报字数不足 2.如果当前内容符合 boost 场景,就优先引导/转成 boost,直接选择发送成boost 3.如果这条主贴已经不能 boost,再提示 too low 4.20 字以上正常回复 安…
--【贰】--:
支持,太影响打字体验了,经常打着打着后面拼音就没了
--【叁】--:
我用safari浏览器,好像用不了油猴吧
--【肆】--:
支持支持,老是把我的全拼截断,确实影响体验
--【伍】--:
是这样的,有时候打着打着想发了,发现全没了
--【陆】--:
最好做成: 如果超过了限定字数就会红框+抖动
--【柒】--:
stay可以试试看,如果是电脑应该也有Safari的油猴
--【捌】--:
我有点受不了了,这个老吞字,每次都要检查一下,体验太差了
有时候吞字会改变句子的意思,很致命
--【玖】--:
可以試試看上面的方法,我等等看官方解決
--【拾】--:
确实有这个问题,特别是即将超限的时候,会直接把拼音进行截断
image740×174 19.1 KB
遇到个这个boost有长度限制,而mac上输入法输入的时候打拼音的时候就会把拼音的每个字母都算进去,加上长度限制导致最后几个文字没法输入到这个框里面。能不能去掉这个强制限制,改成像20字回复的提示+提交时检查字数
网友解答:--【壹】--:
电脑可以用脚本优化一下:
boost 中文输入优化
// ==UserScript==
// @name Linux.do Boost 中文输入优化
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 解决 linux.do boost 输入框中文输入法字数统计问题,避免输入法候选词阶段被计入字数限制
// @author You
// @match https://linux.do/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
// 检查是否为目标输入框
function isBoostInput(element) {
return element && element.classList && element.classList.contains('discourse-boosts__input');
}
// 使用捕获阶段监听,确保在原网站的事件处理之前执行
document.addEventListener('compositionstart', function(e) {
if (isBoostInput(e.target)) {
// 标记进入输入法编辑状态
e.target.dataset.composing = 'true';
}
}, true);
document.addEventListener('compositionend', function(e) {
if (isBoostInput(e.target)) {
e.target.dataset.composing = 'false';
// 输入法结束后,手动触发 input 事件让原网站更新字数统计
// 使用 setTimeout 确保输入法已完全结束并更新 DOM
setTimeout(() => {
const event = new InputEvent('input', {
bubbles: true,
cancelable: true,
inputType: 'insertText',
data: e.data // 最终输入的字符
});
e.target.dispatchEvent(event);
}, 0);
}
}, true);
// 拦截 input 事件,如果在输入法编辑状态则阻止传播
document.addEventListener('input', function(e) {
if (isBoostInput(e.target)) {
// 检查是否处于输入法编辑状态(通过标记或原生属性)
if (e.target.dataset.composing === 'true' || e.isComposing) {
// 阻止事件继续传播,防止原网站的字数限制逻辑执行
e.stopImmediatePropagation();
e.stopPropagation();
}
}
}, true);
})();
或者这个方案也相当 nice:
一个增强Boost体验的油猴脚本【统计字数,智能分流】,以及关于boost与短回复分流的一点建议 运营反馈从调整帖子最小长度 继续讨论 先说脚本: 脚本做了什么? 1.显示字数 [截屏2026-04-07 16.25.38] 2.优化体验 [1] 逻辑: 1.20 字以下,不立刻报字数不足 2.如果当前内容符合 boost 场景,就优先引导/转成 boost,直接选择发送成boost 3.如果这条主贴已经不能 boost,再提示 too low 4.20 字以上正常回复 安…
--【贰】--:
支持,太影响打字体验了,经常打着打着后面拼音就没了
--【叁】--:
我用safari浏览器,好像用不了油猴吧
--【肆】--:
支持支持,老是把我的全拼截断,确实影响体验
--【伍】--:
是这样的,有时候打着打着想发了,发现全没了
--【陆】--:
最好做成: 如果超过了限定字数就会红框+抖动
--【柒】--:
stay可以试试看,如果是电脑应该也有Safari的油猴
--【捌】--:
我有点受不了了,这个老吞字,每次都要检查一下,体验太差了
有时候吞字会改变句子的意思,很致命
--【玖】--:
可以試試看上面的方法,我等等看官方解決
--【拾】--:
确实有这个问题,特别是即将超限的时候,会直接把拼音进行截断

