Помогите с кодом JS не работает плагин Chrome

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Сабж:
Заколебался с js -никогда с ним не сталкивался,а быстро вникнуть не получается.
Код:
chrome.contextMenus.create( 
 {"title": "Запустить командную строку",  
   "type": "normal",
     "contexts": ["All"], 
      "onclick": getClickHandler() 
   } 
  ); 
  
  function getClickHandler(e)  { var WshShell = WScript.CreateObject("WScript.Shell");
Uncaught ReferenceError: WScript is not defined
WshShell.Run("C:\Windows\System32\cmd.exe"); };


Че делаю:
Плагин для браузера ,который покажет собственное контексное меню.
Сюда будет входить перечень шаблонов ,запуск командной строки и нескольких программ.
Пока плагин завязан на сайте(установил ограничение).

Вот блин.
В чем ошибка в данном коде?
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Щас так выглядит,ну значок потом покрасивее сделаю. Безымянный.jpg
Нажимая правой кнопкой мыши в браузере хочу иметь свое меню.
 
Последнее редактирование:

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Я не знаю как надо-это то что у меня получилось)))
Пиво и несколько часиков с букварем-я никогда не использовал js поэтому даже не совсем понимаю как надо.
Надо что бы я нажал на пункт в меню и произошел запуск командной строки.
Следующие пункты это работа с буфером обмена,но пока что хоть это разобрать...
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Ага ,щас скомпиллирую.

Добавлено через 8 минут 7 секунд
Uncaught ReferenceError: WScript is not defined

Ошибка основного кода в объявлении скрипта по ходу.
Пойду талмуды читать.
Блин.
Блинский.
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Поиск по сайту выделенного текста из контексного меню уже запустил,щас остальное буду пробовать.
Настройки посиковой ссылки у админа запросил.
126ce8acae0a.jpg
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
glax24, может еще тут посоветуешь:
Код:
window.open('http://safezone.cc/forum/yasearch.php?searchid=1961725&text=&web=0'+info.selectionText);
обрабатывается как
Код:
window.open('http://safezone.cc/forum/yasearch.php?searchid=1961725&text=&web=0текст поиска по форуму'+info.selectionText);
А надо вот так:
Код:
window.open('http://safezone.cc/forum/yasearch.php?searchid=1961725&text=текст поиска по форуму&web=0'+info.selectionText);
Текст поиска попадает в значении при выделении мышью и нажатии правой кнопки.
понятно что тут настройка форума такая,но может можно через код дописать обработку?
у меня тяма на bat сценарий с возвратом в скрипт js но чутье подсказывает что это не самый лучший вариант.

Добавлено через 3 минуты 30 секунд
А все,придумал==дописал суммирование в код.
Щас яндекс поиск работает по форуму.
пробую обычный поиск.
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Koza Nozdri, сделал так в блокноте *.js, cmd запускается
Код:
getClickHandler();
function getClickHandler() {
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run("%COMSPEC%");
}
Агась,в блокноте запускается.
А в браузере нет.

Вот мой код:
Код:
function search (info, tab) {
window.open('http://safezone.cc/forum/yasearch.php?searchid=1961725&text='+info.selectionText+'&web=0');
};

chrome. contextMenus .create({
'title': 'Искать в SafeZone.cc',
'contexts':['selection'],
'onclick': search
});

function getClickHandler(info, tab) { 
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run("%COMSPEC%");
}


chrome. contextMenus .create({
'title': 'Запустить командную строку',
'contexts':['all'],
'onclick': getClickHandler
});

Поиск по форуму работает отлично.
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    74.5 KB · Просмотры: 59
Последнее редактирование:

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
А ничего не пишет.
Ошибка
var WSHShell = WScript.CreateObject("WScript.Shell");
Точнее не ошибка,а указывает что тормозится все на этой строке.
браузер не понимает что от него хочет этот скрипт,и кстати пробовал через set-тогда вообще код не воспринимается.
максимум чего получается=браузер пытется скачать консоль...

Добавлено через 24 минуты 11 секунд
Ммм...по ходу не те объекты задаю...щас по иному попробую.

Добавлено через 46 минут 37 секунд
Придумал-надо указать передачу скрипта через адресную строку,но тут надо подумать как его запускать...

Добавлено через 14 минут 36 секунд
Угу.
Запуск командной строки будет работать только если все будет в кодировке аши,а плагины работают в юникоде.
Надо значит передать запуск отдельного скрипта через функцию js.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,639
Реакции
6,094
Koza Nozdri, может есть смысл связаться с Creator-ом: http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=840#10

Как я понял судя с его исходника весь процесс интеграции заключается в этом:

Код:
Reg Add "HKCU\Software\Microsoft\Internet Explorer\MenuExt\Download and Extract" /ve /d "%HtmFile%" /f
Reg Add "HKCU\Software\Microsoft\Internet Explorer\MenuExt\Download and Extract" /v "Contexts" /t "REG_DWORD" /d 48 /f

где файл HtmFile.htm содержит такой VBS-код:
Код:
<SCRIPT language="VBScript">
On Error Resume Next
Set D2Ex = CreateObject("WScript.Shell")
Link = external.menuArguments.event.srcElement
D2Ex.Run "\.bat " & Replace(Link, "&", "%26"), 0, False
</SCRIPT>

Естественно, надстройка для IE Only. Может, нечто похожее возможно и для других браузеров.
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Попытаюсь,спасибо.
Дело в том что ослик в этом плане податливее-у него даже меню через реестр правится,запустить софтину реальнее.
 
Последнее редактирование:

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
В общем если кому кроме меня интересно-вот плагин,с открытым исходным кодом,то есть каждый кто желает может дописать туда что захочет в качестве дополнительного функционала.

инструкция по установке:

  • скачиваем архив
    http://rghost.ru/47351038
  • распаковываем
  • открываем меню настроек браузера
    настройки=инструменты=расширения
    Безымянный.jpg
  • загружаем папку исходника,предварительно поставив галочку "режим разработчика".
    2.jpg
    22.jpg
  • готово
    3.jpg

По желанию можно дорабатывать и изменять по потребности.
 
Последнее редактирование:

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
glax24, локальные файлы с браузера я так и не смог запускать-маловато знаний.
Командную строку в браузерах на базе хрома пока что оставил до времен ,когда буду более подкован или свободен по времени.
А так =прекрасная возможность иметь бумарклеты например в контексном меню,поиск,оповещения о темах и так далее,в общем кому что хочется(скорее всего кроме меня никому и ничего:))))
Плагин не упакован,код открыт.
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Сверху Снизу