هل أنت مسؤول أم مجرد مشرف؟ إذا كنت مسؤولاً، فربما يمكنك إنشاء مكون سمة بدلاً من الاعتماد على نص برمجي للمستخدم.
ومع ذلك، بالنسبة للمواقع التي لا يمكنك فيها تعديل التعليمات البرمجية، لا تزال النصوص البرمجية للمستخدم حلاً مثيراً للاهتمام لتحسينات مختلفة.
أستخدمها للعديد من المواقع.
على meta.discourse.org، لدي نص برمجي يضيف اختصار Ctrl + Shift + k لتغليف النص المحدد الخاص بي بعلامات <kbd> داخل مربع الإنشاء ![]()
// ==UserScript==
// @name اختصار <kbd> لـ meta.discourse.org
// @namespace Violentmonkey Scripts
// @version 1.0
// @description إدراج علامات <kbd> في مربعات النص على meta.discourse.org باستخدام Ctrl + Shift + k
// @author chatGPT
// @match https://meta.discourse.org/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
document.addEventListener('keydown', function(event) {
if (event.ctrlKey && event.shiftKey && event.key === 'K') {
const activeElement = document.activeElement;
if (activeElement.tagName === 'TEXTAREA' && activeElement.classList.contains('ember-text-area')) {
const start = activeElement.selectionStart;
const end = activeElement.selectionEnd;
const text = activeElement.value;
const insertText = '<kbd>';
const closeText = '</kbd>';
const selectedText = text.slice(start, end);
activeElement.value = text.slice(0, start) + insertText + selectedText + closeText + text.slice(end);
const cursorPosition = end === start
? start + insertText.length
: start + insertText.length + selectedText.length + closeText.length;
activeElement.selectionStart = activeElement.selectionEnd = cursorPosition;
event.preventDefault();
}
}
});
})();
أيضًا، لا أستخدم Tampermonkey لأنه مفتوح المصدر، وأفضل استخدام البرامج مفتوحة المصدر، وهناك العديد من المنافسين (جميعهم يبدون متشابهين والنصوص البرمجية متوافقة عبر الأنظمة الأساسية). أعتقد أن الأكثر استخدامًا هو Violentmonkey.