Search
Write a publication
Pull to refresh

Comments 11

Я не пользуюсь vimperator'ом и не совсем понял, куда вводить :gg. В любом случае, как мне кажется, если для получения короткой ссылки надо куда-то что-то вводить, не проще ли поставить аддон Goo.gl Lite (https://addons.mozilla.org/ru/firefox/addon/55308) и получать короткую ссылку в буфер, сделав всего-лишь 1 клик мышью?
Ой, прошу прощения не заметил
а ставить в Firefox лишних аддонов тем более
У Vimperator'a, как и у vim'а, есть 2 режим работы: режим редактирования и командный режим. Когда вы находитесь в vim'е в командном режиме и нажимаете клавишу ":" (Shift+;), то внизу, т.е. в командной строке, появляется приглашение на ввод команды, см. скриншот ниже:


Т.к. я по большей мере не пользуюсь мышкой, то мне не хочется делать лишних телодвижений, мне проще ввести ":gg" :) Нажать 4 клавиши куда проще и быстрее, чем взять мышку, «прицелиться» курсором в кнопку аддона, а потом ее тыкнуть (исключительно, ИМХО).
Честно признаться, даже не знаю, т.к. не пользовался им никогда.

Посмотрел пару его плагинов… На сколько понял, сам плагин нужно будет немного переделывать.

KeySnail — это вроде кастомизируемой помеси Vimperator'a и еще пары плагинов, но структура отличается от Vimperator'a.
Да, они похожи, но структуры (или точнее API, как я понял) у них разные немного. Поэтому и говорю, что нужно будет немного переделать плагин.

Не долгие поиски вывели меня на make_tinyurl.js. Немного подпил его под Goo.gl, попробуйте, может прокатит (прочитайте комментарии в коде):
key.setGlobalKey('C-2', function (ev, arg) {
    var title = window.content.document.title;
    var target = encodeURIComponent(window.content.location.href);
    var uri = "http://ggl-shortener.appspot.com/?url=";

    function createHttpRequest() {
        if (window.ActiveXObject) {
            try {
                return new ActiveXObject("Msxml2.XMLHTTP");
            } catch(e) {
                try {
                    return new ActiveXObject("Microsoft.XMLHTTP");
                } catch(e2) {
                    return null;
                }
            }
        } else if (window.XMLHttpRequest) {
            return new XMLHttpRequest;
        } else {
            return null;
        }
    }

    var xhr = createHttpRequest();

    xhr.onreadystatechange = function (aEvent) {
        if (xhr.readyState == 4) {
            if (xhr.status != 200) {
                alert("I'm sorry, can't make tiny url");
                return;
            }
            var text = xhr.responseText.split('"')[3];
            alert(title + " " + text);
            // --> в vimperator'е такая строка копирует в буфер, но в KeySnail, 
            // --> как я понял, нет util.copyToClipboard.
            //util.copyToClipboard(text);
        }
    };

    xhr.open("GET", uri + target, true);
    xhr.send("");
}, 'MakeTinyURL');

Правда тут в буфер не скопируется url, а выведется как диалог. Как скопировать в буфер, к сожалению, не нашел.
А эту ссылку в кнопку не пробывали?

javascript:window.googl_callback%20=%20function(response){if(response.error_message){alert("An%20error%20occured:%20"%20+%20response.error_message);}else{prompt('',%20response.short_url);}};%20var%20s%20=%20document.createElement("script");%20s.src%20=%20"http://ggl-shortener.appspot.com/?url="%20+%20encodeURIComponent(window.location.href)%20+%20"&jsonp=googl_callback";%20void(document.body.appendChild(s));
Не внимательный же вы…
Всякие bookmarklet'ы меня не устраивают, т.к. они не копируют сокращенный URL в буфер обмена, а либо переводят на сайт сокращалки, либо выводят диалоговое окно, в котором сокращенный URL. Мне же хотелось, чтобы URL автоматом копировался в буфер обмена, а сам метод можно было удобно использовать без мышки.

А код, приведенный вами, как раз был опубликован в топике "Используем Goo.gl без Google Toolbar", который… В общем, перечитайте пост.
Sign up to leave a comment.

Articles