คุณใช้ bookmarklet อะไรที่มีประโยชน์? [ปิด]


32

ฉันใช้:

คุณ?


2
เพิ่มคำแนะนำของฉันเป็นคำตอบแยกต่างหากเพื่อให้ผู้คนสามารถลงคะแนนใน bookmarklet แต่ละรายการได้
Tom Savage

7
คุณควรเชื่อมโยงแต่ละคนกับสถานที่ที่จัดเตรียมไว้ให้
Adam Tuttle

ฉัน <3 Bookmarklets! นี่คือแอปพลิเคชันเว็บที่ดีที่สุด!
Greg Bray

1
หนึ่งยังได้ยืนยันว่า bookmarklets เป็นเบราว์เซอร์และทำให้คำถามนี้เป็น superuser :)
akira

อร่อยจะหายไป ข้อมูลที่รั่วไหลออกจากการประชุม Yahoo ภายในได้ยืนยันสิ่งนี้ เตรียมพร้อมที่จะรับฟังเกี่ยวกับการตายของมันในไม่ช้า เริ่มสำรองบุ๊คมาร์คของคุณ ในขณะเดียวกันการค้นหาก็เปิดสำหรับบางสิ่งที่ดีหรือดีกว่าอร่อย รู้อะไรบ้าง?
Mamta D

คำตอบ:


25

สิ่งที่ฉันอาจใช้บ่อยที่สุดคือShow Anchorsที่ฉันทำ มันแสดงไอคอนจุดยึดถัดจากทุกองค์ประกอบในหน้าเว็บที่สามารถเชื่อมโยงโดยตรง

ฟังดูงี่เง่า แต่มีประโยชน์มากเมื่อคุณต้องการแนะนำใครบางคนไปยังส่วนเฉพาะของเว็บไซต์ และง่ายกว่าที่จะคิดออกว่าเจ้าของไซต์ใส่ลิงค์เชื่อมโยงของพวกเขาไว้ที่ใด (ถ้าพวกเขาทำในตอนแรก)


ฉันเขียน bookmarklet เพื่อแก้ไขปัญหาเดียวกันโดยเพียงแค่เปลี่ยน URL เป็นตัวยึดหรือ ID ที่ใกล้เคียงที่สุดกับข้อความที่เลือก นี่มันเรียบร้อยแล้ว .. มันแสดงรหัสเหมือนกันหรือไม่?
intuited

@intuited: ใช่มันอนุญาตให้คุณเชื่อมโยงกับ ID ของ ... นั่นเป็นหนึ่งในเหตุผลที่ฉันสร้างขึ้นมาเอง
เหตุผล

คุณช่วยแสดงวิธีการ "ติดตั้ง" ได้ไหม
phunehehe

+1 มันดีมากและมันจะดีมากถ้ามันสามารถเปิดและปิดได้
IsmailS

@phunehehe: ฉันได้อัปเดตบทความเพื่อให้มีคำแนะนำ หากคุณมีคำถามอีกต่อไปโปรดแจ้งให้เราทราบ
เหตุผล


15

เตะตูด

http://erkie.github.com

ฉันพบนี้บนGitHub มันสนุกและชอบที่จะกำจัดความคิดของฉันและกำจัดมันออกไป!


2
นี่จะต้องเป็น bookmarklet ที่ดีที่สุดตลอดกาล !!!
ฌอนแพทริคฟลอยด์

2
ที่เป็นหนึ่งที่ดี ... แต่คำถามที่กล่าวว่า "ประโยชน์" :)
เบน


7

ฉันใช้SuperGenPassเพื่อแฮชรหัสผ่านหลักของฉันเป็นรหัสผ่านเฉพาะสำหรับเว็บไซต์ที่ฉันเข้าชม (แฮชจะขึ้นอยู่กับโดเมน) สะดวกมาก.


+1 - ฉันใช้ bookmarklet นี้มานาน มันยอดเยี่ยมเพราะคุณสามารถใช้มันบนคอมพิวเตอร์เพื่อน / ญาติเพื่อสร้างรหัสผ่านของคุณหรือมีรุ่นมือถือสำหรับโทรศัพท์ของคุณเช่นกัน
BrianH


6

BugMeNotหลีกเลี่ยงการลงชื่อเข้าใช้เว็บไซต์ที่ต้องการการลงทะเบียนภาคบังคับและ / หรือการรวบรวมข้อมูลส่วนบุคคล / ข้อมูลประชากร (เช่น New York Times) อย่างรวดเร็ว


4

Quix: http://quixapp.com

นี่เป็นเหมือนQuicksilverสำหรับเว็บเล็กน้อย มันมีประโยชน์มากสำหรับการพัฒนาเว็บไซต์ นอกจากนี้คุณยังสามารถกำหนดค่า Chromeให้ใช้เป็นเครื่องมือค้นหาเพื่อเปลี่ยนแถบที่อยู่เป็นบรรทัดคำสั่ง


เยี่ยมเลยนั่นคือลิงก์ "กำหนดค่า Chrome" ที่เชื่อมโยงไปยังโพสต์บล็อกดั้งเดิมของฉันเกี่ยวกับวิธีการทำ
Sense

4

ฉันใช้ที่คั่นหนังสือ StackPrinter ; อนุญาตให้พิมพ์คำถาม Stack Exchange (เช่นนี้) ในรูปแบบที่เหมาะกับเครื่องพิมพ์

javascript:(function(){var re = new RegExp('^http://(.*?)\.com/questions/([0-9]+)/');var group = re.exec(window.location.href);if (group!=null){var service = group[1];var questionid=group[2];window.open('http://www.stackprinter.com/export?format=HTML&service='+service+'&question='+questionid)}else{alert('Attention: question id not found!')}})()

3
  1. อ่านในภายหลัง (ส่งหน้าไปที่InstaPaper )
  2. Clip to Evernote (บันทึกหน้าเป็น Evernote note)
  3. การอ่าน

ฉันได้รับจะทำให้คำพูดต่อว่าต่อขานเกี่ยวกับรวมถึงคำแนะนำหลาย แต่ฉันมีทั้งสามเหล่านี้ในบุ๊คมาร์คของฉันบาร์และแนะนำให้พวกเขาทั้งหมดดังนั้น ... ขึ้นลงคะแนน!
Doug Harris

ฉันได้ยินคุณ. ฉันพยายามเพิ่มพวกเขาเป็นคำแนะนำแยกกัน แต่ระบบจะให้ฉันตอบคำถามนี้เพียงคำตอบเดียว (จนกว่าจะถึงเวลาหน่วงเวลาโดยพลการ) และแนะนำให้รวมเข้าด้วยกัน
Mike Richardson

ฉันเพิ่ม Instapaper เป็นหนึ่งซับ - เนื่องจากฉันไม่ได้ใช้อีกสองซับ แม้ว่าจะไม่มีอะไรที่น่ากลัวยกเว้นว่าจะมีรอยยิ้ม)
Jon Hadley

Clip to Evernote เป็นมหากาพย์ :)
JFW

3

+1 สำหรับ Bit.ly ฉันรู้ว่ามีตัวย่อมากมาย แต่สิ่งนี้ฉันพบว่ามีประโยชน์มากที่สุด
Dillie-O

3

jQuerifyเป็น bookmarklet ที่ฉันขาดไม่ได้ เพิ่ม (ถ้าจำเป็น) jQuery ในรายการสคริปต์บนหน้า ทำให้การเขียน bookmarklet เล็ก ๆ น้อย ๆ เจ็บปวดน้อยลง!


2

ฉันใช้ bookmarklets สอง (ชื่อ + และ -) เพื่อเพิ่มหรือลดหน้าของบทความที่ฉันกำลังอ่าน

ลด:

javascript:(function()%7B%20var%20e,s;%20IB=-1;%20function%20isDigit(c)%20%7B%20return%20(%220%22%20%3C=%20c%20&&%20c%20%3C=%20%229%22)%20%7D%20L%20=%20location.href;%20LL%20=%20L.length;%20for%20(e=LL-1;%20e%3E=0;%20--e)%20if%20(isDigit(L.charAt(e)))%20%7B%20for(s=e-1;%20s%3E=0;%20--s)%20if%20(!isDigit(L.charAt(s)))%20break;%20break;%20%7D%20++s;%20if%20(e%3C0)%20return;%20oldNum%20=%20L.substring(s,e+1);%20newNum%20=%20%22%22%20+%20(parseInt(oldNum,10)%20+%20IB);%20while%20(newNum.length%20%3C%20oldNum.length)%20newNum%20=%20%220%22%20+%20newNum;%20location.href%20=%20L.substring(0,s)%20+%20newNum%20+%20L.slice(e+1);%20%7D)();

เพิ่ม:

javascript:(function()%7B%20var%20e,s;%20IB=1;%20function%20isDigit(c)%20%7B%20return%20(%220%22%20%3C=%20c%20&&%20c%20%3C=%20%229%22)%20%7D%20L%20=%20location.href;%20LL%20=%20L.length;%20for%20(e=LL-1;%20e%3E=0;%20--e)%20if%20(isDigit(L.charAt(e)))%20%7B%20for(s=e-1;%20s%3E=0;%20--s)%20if%20(!isDigit(L.charAt(s)))%20break;%20break;%20%7D%20++s;%20if%20(e%3C0)%20return;%20oldNum%20=%20L.substring(s,e+1);%20newNum%20=%20%22%22%20+%20(parseInt(oldNum,10)%20+%20IB);%20while%20(newNum.length%20%3C%20oldNum.length)%20newNum%20=%20%220%22%20+%20newNum;%20location.href%20=%20L.substring(0,s)%20+%20newNum%20+%20L.slice(e+1);%20%7D)();


2

นี่คือ bookmarklet ของฉันเองสำหรับไซต์ Stack Exchange ทั้งหมด:

รหัสนี้จะแสดงจำนวนการลงทะเบียนของคุณสำหรับแท็กทั้งหมดที่ปรากฏในส่วนแท็กยอดนิยมของหน้าผู้ใช้ของคุณ ควรทำงานกับไซต์ Stack Exchange ใด ๆ ที่คุณลงชื่อเข้าใช้ (แต่ฉันได้ทดสอบเฉพาะใน Stack Overflow และ Meta Stack Overflow) น่าเสียดายที่มีข้อผิดพลาดในตรรกะการเปลี่ยนแท็กคำเหมือนซึ่งจะทำให้สคริปต์นี้ทำงานกับแท็กคำพ้อง

javascript:var uP=$('#hlinks-user a:eq(1)')[0].href;var uN=uP.replace(/.*\//gi,'');var uI=uP.replace(/.*\/([\d]+)\/.*/,'$1');var tsp='/tags/$0/topusers';var tqp='/questions/tagged/$0';var rD='result';var mA=5;var cA=0;var cO=0;var tT;var aT=[];var rT=[];var lI=function(tA,tP,tX,tT,bK){return' <span style="font-size:smaller;">[<a style="color:#777" href="'+tP.replace('$0',tA)+'"'+(bK?' target="_BLANK"':'')+(tT?' title="'+tT+'"':'')+'>'+tX+'</a>]</span>';};var pR=function(){if($('#'+rD).size()==0){$(document.body).append($('<div id="'+rD+'"></div>').css({'position':'fixed','top':'0','bottom':'0','left':'0','width':'40ex','background':'#fff','border-right':'solid #777 5px','overflow':'auto','text-align':'left','padding':'.3em'}));}};var dR=function(){rT.sort(function(a,b){return b[1]-a[1];});$('#'+rD+' h3').html('Your top '+tT+' tag scores:');$.each(rT,function(index,item){var tA=item[0],sC=item[1];var select=$('#tA'+(index+1));select.find('td:eq(1)').html(tA+lI(tA,tqp,'q','questions')+lI(tA,tsp,'s','stats'));select.find('td:eq(2)').html(sC);if(sC>99){select.find('td:eq(2)').css({'background':(sC>999?'gold':sC>399?'silver':'#A67D3D')});} select.find('td:eq(0)').remove();select.find('td').css({'padding':'.3em'});});};var dP=function(){if(aT.length==0&&cA==0){dR();return;}else if(cA<mA&&aT.length>0){rS(aT.pop());} window.setTimeout(dP,200);};var rS=function(tA){cA++;var oS=++cO;var dI='tA'+oS;$('#'+rD+' table').append($('<tr id="'+dI+'"><td>'+oS+' / '+tT+'</td><td>'+tA+'</td><td>...</td></tr>'));jQuery.get(tsp.replace('$0',tA),function(data){var sT=$(data.replace(/<img[^>]*>/gi,'')).find(".fl:eq(1) a[href*='"+uI+"']").parents('tr:eq(0)').find('.top-count:eq(0)').contents().text().trim().replace(/\D+/,'');rT.push([tA,sT?parseInt(sT):0]);$('#'+dI+' td:last').html('Done.');cA--;});};var tU=function(){jQuery.get(uP,function(result){fT($(result.replace(/<img[^>]*>/gi,'')));})};var fT=function(pN){if(!pN)pN=$('html');pN.find('.user-stats-table:eq(3) a.post-tag').each(function(index,item){aT.push(item.innerHTML.replace(/<[^>]*>/gi,''));});tT=aT.length;$('#'+rD).html('<h3>Retrieving tag scores...</h3><table style="width: 100%;"></table>');dP();};pR();if(document.URL==uP) fT(false);else tU();void(0)

และนี่คือสคริปต์เวอร์ชันที่ไม่ใช่บุ๊กมาร์กที่สามารถอ่านได้:

// begin config
var uP = $('#hlinks-user a:eq(1)')[0].href; // user page URL
var uN = uP.replace ( /.*\//gi, '' ); // user name
var uI = uP.replace(/.*\/([\d]+)\/.*/, '$1'); // user id
var tsp = '/tags/$0/topusers'; // template for stats page
var tqp = '/questions/tagged/$0'; // template for questions page
var rD = 'result'; // dom id for generated div
var mA = 5; // max concurrent ajax requests
// end config

var cA = 0;  // current ajax requests
var cO = 0;  // current tag offset
var tT;      // total number of tags
var aT = []; // all remaining tags
var rT = []; // retrieved tags (format: [[tag,score]]
var lI = function(tA,tP,tX,tT,bK){ // build link using a tag, a template and a text
    bK = bK!==false;
    return ' <span style="font-size:smaller;">[<a style="color:#777" href="'
           + tP.replace('$0', tA) + '"'
           + (bK ? ' target="_BLANK"' : '')
           + (tT ? ' title="' + tT + '"' : '')
           + '>' + tX + '</a>]</span>';
};
var pR = function(){ // prepare result div
    if($('#'+rD).size()==0){
        $(document.body).append(
            $('<div id="' + rD + '"></div>')
                .css({
                    'position':'fixed',
                    'top':'0',
                    'bottom':'0',
                    'left':'0',
                    'width':'40ex',
                    'background':'#fff',
                    'border-right':'solid #777 5px',
                    'overflow':'auto',
                    'text-align':'left',
                    'padding':'.3em'
                })
        );
    }
};
var dR = function(){ // display results
    rT.sort(function(a,b){
        return b[1]-a[1];
    });
    $('#'+rD+ ' h3').html('Your top '+tT + ' tag scores:');
    $.each(
            rT,
            function(index, item) {
                var tA = item[0], sC = item[1];
                var select = $('#tA'+(index+1));
                select.find('td:eq(1)').html(tA + lI(tA,tqp,'q','questions') + lI(tA,tsp,'s','stats'));
                select.find('td:eq(2)').html(sC);
                if(sC > 99){
                    select.find('td:eq(2)').css({
                        'background' : (
                            sC > 999 ? 'gold'   :
                               sC > 399 ? 'silver' :
                               '#A67D3D'
                        )
                    });
                }
                select.find('td:eq(0)').remove();
                select.find('td').css({'padding':'.3em'});
            }
        );

};
var dP = function(){ // dispatcher function
    if(aT.length == 0 && cA == 0){
        dR();
        return;
    }else if(cA < mA && aT.length > 0){
        rS(aT.pop());
    }
    window.setTimeout(dP, 200);
};
var rS = function(tA){ // retrieve tag score
    cA++;
    var oS = ++cO; // current offset
    var dI = 'tA' + oS; // corresponding dom ID
    $('#'+rD + ' table').append($(
        '<tr id="' + dI + '"><td>'+oS+' / ' + tT + '</td><td>'
        + tA + '</td><td>...</td></tr>'
    ));
    jQuery.get(tsp.replace('$0', tA),function(data){
        // score as text:
        var sT = $(data.replace( /<img[^>]*>/gi, ''))
        .find(".fl:eq(1) a[href*='" + uI + "']")
        .parents('tr:eq(0)').find('.top-count:eq(0)')
        .contents().text().trim().replace(/\D+/,'');

        rT.push(
            [tA,sT ? parseInt(sT) : 0]
        );
        $('#' + dI + ' td:last').html('Done.');
        cA--;
    });
};
var tU = function(){ // get user page via ajax
    jQuery.get(uP, function(result){
        fT($(result.replace( /<img[^>]*>/gi, '')));
    })
};
var fT = function(pN){ // find tags in page node
    if(!pN)pN = $('html');
    pN.find('.user-stats-table:eq(3) a.post-tag').each(
        function(index,item){
            aT.push(item.innerHTML.replace(/<[^>]*>/gi, ''));
        }
    );
    tT=aT.length;
    $('#'+rD).html('<h3>Retrieving tag scores...</h3>'
        + '<table style="width: 100%;"></table>');
    dP();
};
pR();
if(document.URL==uP)// we're in user page
    fT(false);
else // load user page per AJAX
    tU();

(+1) bookmarklet ที่ดีและมีประโยชน์มาก ต้องการปุ่ม "ปิดแถบด้านข้าง"
chanchal1987



1

ฉันมีหน้าจอขนาดใหญ่ บางเว็บไซต์ไม่ได้จำกัดความกว้างสูงสุดของเนื้อหา บ่อยครั้งที่ทำให้ข้อความที่อ่านไม่ออก ดังนั้น bookmarklet ที่ฉันชอบคืออันนี้ มันจำกัดความกว้างสูงสุดของหน้า

javascript:(function(){var%20newSS,%20styles='body%20{max-width:%20800px;}';%20if(document.createStyleSheet)%20{document.createStyleSheet(%22javascript:'%22+styles+%22'%22);}%20else%20{newSS=document.createElement('link');%20newSS.rel='stylesheet';%20newSS.href='data:text/css,'+escape(styles);%20document.documentElement.childNodes[0].appendChild(newSS);}})();

2
ทำไมคุณไม่ใช้document.getElementsByTagName( 'body' )[0].style.maxWidth = '800px';? ดูเหมือนว่าฉันจะง่ายกว่าการเพิ่มสไตล์ชีทใหม่ ..
โผล่


1

ในที่สุดZap Colorsจะได้รับการติดตั้งบนเบราว์เซอร์ที่ฉันใช้ ข้อความสีเทาบนพื้นหลังสีดำ? Zap และมันก็สามารถอ่านได้ทันที



1

ทุกคนที่ชอบ bookmarklet ควรดูiMacros Firefox และส่วนขยายของ chrome พวกเขาให้คุณสร้าง "มาโคร" (ชนิดของ bookmark บุ๊ก Huuge) เพื่องาน autoamte เราใช้พวกมันสำหรับ "สิ่งของ" ทุกชนิดในสำนักงาน

การสร้าง iMacros "Bookmarklets" ใน Firefox: การสร้าง iMacros "Bookmarklets"


1

Aardvark ซึ่งเป็นทั้งส่วนขยายของ Firefox และ bookmarklet (สำหรับ Chrome, Safari และ Internet Explorer) มันมีประโยชน์สำหรับนักพัฒนาเว็บเช่นเดียวกับผู้ที่ต้องการล้างหน้าก่อนที่จะพิมพ์ http://karmatics.com/aardvark/








โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.