您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Набор текста в сообщениях ВКонтакте с помощью голоса.
// ==UserScript== // @name VK Voice // @namespace http://tampermonkey.net/ // @version 1.6 // @description Набор текста в сообщениях ВКонтакте с помощью голоса. // @require http://code.jquery.com/jquery-3.2.1.js // @author ggscript // @match *://vk.com/* // @grant none // ==/UserScript== (function() { 'use strict'; var recognition = new webkitSpeechRecognition(); var speechRecognitionList = new window.webkitSpeechGrammarList(); recognition.lang = 'ru-RU'; recognition.interimResults = false; recognition.maxAlternatives = 1; $(document).on('click','#record', function() { recognition.start(); }); recognition.onresult = function(event) { var speech = event.results[0][0].transcript; speech = firstToUpperCase(speech); speech = speech.replaceAll(" плюс "," + "); speech = speech.replaceAll(" минус "," - "); speech = speech.replaceAll(" делить "," : "); speech = speech.replaceAll(" умножить "," * "); speech = speech.replaceAll(" равно "," = "); switch (speech) { case "Отправить": $("div.im-chat-input--txt-wrap._im_text_wrap > button").click(); break; case "Send": $("div.im-chat-input--txt-wrap._im_text_wrap > button").click(); break; case "Сообщения": window.open('https://vk.com/im','_self'); break; case "Новости": window.open('https://vk.com/feed','_self'); break; case "Настройки": window.open('https://vk.com/settings','_self'); break; case "Музыка": window.open('https://vk.com/audio','_self'); break; case "Салют": Ny2018.startFlapper(); break; case "Поддержка": window.open('https://vk.com/support?act=new', '_blank'); break; default: $('.im_editable.im-chat-input--text._im_text').focus(); var now = $('.im_editable.im-chat-input--text._im_text').text(); if(now.length>0) { $('.im_editable.im-chat-input--text._im_text').text(now+'. '+speech); } else { $('.im_editable.im-chat-input--text._im_text').text(speech); } $('.im_editable.im-chat-input--text._im_text').click(); } }; var microphone = '<div id="nav" style="display: initial"><object id="microphone" style="position: relative; float: left; bottom: -9px; margin-right: 10px; margin-left: 5px; z-index: 10" data="https://site-icons.ru/microphone.svg"></object></div>'; var listen = '<a id="fon" style="height: 42px; position: absolute; margin-left: -45px;" class="top_nav_btn"></a><a id="record" style="height: 42px; position: absolute; margin-left: -45px; z-index: 11; opacity: 0!important" class="top_nav_btn"></a>'; $("#top_notify_btn").before(microphone); $("#nav").append(listen); $(function() { $('#record').hover(function() { $('#fon').css('background-color', 'rgb(61, 104, 152)'); }, function() { $('#fon').css('background-color', ''); }); }); function firstToUpperCase(str) { return str.substr(0, 1).toUpperCase() + str.substr(1); } String.prototype.replaceAll = function(search, replace) { return this.split(search).join(replace); }; // Горячая клавиша "стрелка вниз" также активирует микрофон $(document).keyup(function(e){if (e.keyCode == 40) { recognition.start(); }}); })();