打开/关闭搜索
搜索
打开/关闭菜单
30
8
13
1.6K
陋室
导航
首页
最近更改
随机页面
特殊页面
社群首页
新闻动态
帮助
上传文件
内容
分类树
所有页面
导入页面
活跃用户列表
界面
侧边栏
站点公告
匿名用户通知
公共样式表
公共脚本
系统消息
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
中文(简体)
个人工具
登录
查看“︁MediaWiki:Gadget-SelectionCounter.js”︁的源代码
MediaWiki界面页面
查看
阅读
查看源代码
查看历史
associated-pages
系统消息
讨论
更多操作
←
MediaWiki:Gadget-SelectionCounter.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
自动确认用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/* ================================================================ MediaWiki Gadget: SelectionCounter 功能: - 选中文本时显示字数统计 - 与 RightToolbar 风格一致 ================================================================= */ mw.loader.using(['mediawiki.util']).then(function () { if (window.SelectionCounterLoaded) { return; } window.SelectionCounterLoaded = true; $(function () { var $counter = $('#mw-selection-counter'); if (!$counter.length) { $counter = $('<div id="mw-selection-counter" class="mw-selection-counter" role="status" aria-live="polite"></div>') .hide() .appendTo('body'); } var rafId = null; var pollTimer = null; var lastText = ''; var lastTime = 0; var isSelecting = false; function getSelectionText() { var selection = window.getSelection(); if (!selection || selection.rangeCount === 0 || selection.isCollapsed) { return ''; } return selection.toString(); } function compactText(text) { return text.replace(/\s+/g, ''); } function showCount(text) { var compact = compactText(text); if (!compact) { return false; } var count = Array.from(compact).length; $counter.text('已选 ' + count + ' 字').show(); return true; } function updateCounter() { rafId = null; var text = getSelectionText(); if (text) { lastText = text; lastTime = Date.now(); showCount(text); return; } if (lastText && Date.now() - lastTime < 1200) { showCount(lastText); return; } $counter.hide(); } function scheduleUpdate() { if (rafId) { return; } rafId = window.requestAnimationFrame(updateCounter); } function scheduleUpdateDelayed() { window.setTimeout(scheduleUpdate, 0); } function startPolling() { if (pollTimer) { return; } pollTimer = window.setInterval(updateCounter, 500); } function stopPolling() { if (!pollTimer) { return; } window.clearInterval(pollTimer); pollTimer = null; } function onSelectMove() { if (!isSelecting) { return; } scheduleUpdate(); } document.addEventListener('selectionchange', function () { var text = getSelectionText(); if (text) { lastText = text; lastTime = Date.now(); } scheduleUpdate(); }); document.addEventListener('mousedown', function () { isSelecting = true; }, true); document.addEventListener('mouseup', function () { isSelecting = false; scheduleUpdateDelayed(); }, true); document.addEventListener('mousemove', onSelectMove, true); document.addEventListener('touchstart', function () { isSelecting = true; }, { passive: true, capture: true }); document.addEventListener('touchmove', onSelectMove, { passive: true, capture: true }); document.addEventListener('touchend', function () { isSelecting = false; scheduleUpdateDelayed(); }, { passive: true, capture: true }); document.addEventListener('keyup', scheduleUpdate); window.addEventListener('focus', startPolling); window.addEventListener('blur', stopPolling); document.addEventListener('visibilitychange', function () { if (document.hidden) { stopPolling(); return; } startPolling(); }); startPolling(); }); });
返回
MediaWiki:Gadget-SelectionCounter.js
。
查看“︁MediaWiki:Gadget-SelectionCounter.js”︁的源代码
MediaWiki界面页面