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

Тема в разделе "Visual Basic 6 / Сценарии VBScript, JScript", создана пользователем Kиpилл, 30 июн 2013.

  1. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Сабж:
    Заколебался с js -никогда с ним не сталкивался,а быстро вникнуть не получается.
    Код (Text):
    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"); };

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

    Вот блин.
    В чем ошибка в данном коде?
     
  2. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Щас так выглядит,ну значок потом покрасивее сделаю. Безымянный.jpg
    Нажимая правой кнопкой мыши в браузере хочу иметь свое меню.
     
    Последнее редактирование: 30 июн 2013
  3. glax24
    Оффлайн

    glax24 Разработчик

    Сообщения:
    2.000
    Симпатии:
    1.450
    getClickHandler на вход е а при вызове нет. или так надо.
     
    Последнее редактирование: 30 июн 2013
  4. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Я не знаю как надо-это то что у меня получилось)))
    Пиво и несколько часиков с букварем-я никогда не использовал js поэтому даже не совсем понимаю как надо.
    Надо что бы я нажал на пункт в меню и произошел запуск командной строки.
    Следующие пункты это работа с буфером обмена,но пока что хоть это разобрать...
     
  5. glax24
    Оффлайн

    glax24 Разработчик

    Сообщения:
    2.000
    Симпатии:
    1.450
    так убери е и попробуй
     
  6. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Ага ,щас скомпиллирую.

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

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

    glax24 Разработчик

    Сообщения:
    2.000
    Симпатии:
    1.450
    Koza Nozdri, сделал так в блокноте *.js, cmd запускается
    Код (Text):
    getClickHandler();
    function getClickHandler()  {
    var WSHShell = WScript.CreateObject("WScript.Shell");
    WSHShell.Run("%COMSPEC%");
    }
     
    1 человеку нравится это.
  8. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Поиск по сайту выделенного текста из контексного меню уже запустил,щас остальное буду пробовать.
    Настройки посиковой ссылки у админа запросил.
    [​IMG]
     
    1 человеку нравится это.
  9. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

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

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

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Агась,в блокноте запускается.
    А в браузере нет.

    Вот мой код:
    Код (Text):
    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
    });
    Поиск по форуму работает отлично.
     

    Вложения:

    Последнее редактирование: 3 июл 2013
  11. glax24
    Оффлайн

    glax24 Разработчик

    Сообщения:
    2.000
    Симпатии:
    1.450
    а что пишит?
     
  12. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    А ничего не пишет.
    Ошибка
    var WSHShell = WScript.CreateObject("WScript.Shell");
    Точнее не ошибка,а указывает что тормозится все на этой строке.
    браузер не понимает что от него хочет этот скрипт,и кстати пробовал через set-тогда вообще код не воспринимается.
    максимум чего получается=браузер пытется скачать консоль...

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

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

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

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.497
    Симпатии:
    4.312
    Koza Nozdri, может есть смысл связаться с Creator-ом: http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=840#10

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

    Код (Text):
    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-код:
    Код (Text):
    <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. Может, нечто похожее возможно и для других браузеров.
     
    1 человеку нравится это.
  14. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Попытаюсь,спасибо.
    Дело в том что ослик в этом плане податливее-у него даже меню через реестр правится,запустить софтину реальнее.
     
    Последнее редактирование: 6 июл 2013
  15. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    В общем если кому кроме меня интересно-вот плагин,с открытым исходным кодом,то есть каждый кто желает может дописать туда что захочет в качестве дополнительного функционала.

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

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

    По желанию можно дорабатывать и изменять по потребности.
     
    Последнее редактирование: 11 июл 2013
    2 пользователям это понравилось.
  16. glax24
    Оффлайн

    glax24 Разработчик

    Сообщения:
    2.000
    Симпатии:
    1.450
    кирилл так в чем была проблема.
     
  17. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    glax24, локальные файлы с браузера я так и не смог запускать-маловато знаний.
    Командную строку в браузерах на базе хрома пока что оставил до времен ,когда буду более подкован или свободен по времени.
    А так =прекрасная возможность иметь бумарклеты например в контексном меню,поиск,оповещения о темах и так далее,в общем кому что хочется(скорее всего кроме меня никому и ничего:))))
    Плагин не упакован,код открыт.
     
  18. glax24
    Оффлайн

    glax24 Разработчик

    Сообщения:
    2.000
    Симпатии:
    1.450
    я хромом не пользуюсь, так что
     
  19. Techno
    Оффлайн

    Techno Ассоциация VN

    Сообщения:
    881
    Симпатии:
    407
    А вообще реально запустить локальное приложение из браузера не используя activeX?
     
  20. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    из ослика можно,реестр позволяет.

    а так нет...некоторые браузеры поддерживают запуск загружаемого элемента,но это всегда новая загрузка.

    хм...
     

Поделиться этой страницей