วิธีตั้งค่าไอคอน / ไอคอน Fav เมื่อ bookmarklet ลากไปที่แถบเครื่องมือ


108

ฉันได้สร้าง bookmarklet ด้วยตัวเองแล้วและมันก็ทำงานได้ดี แต่เมื่อเพิ่มลงในแถบเครื่องมือใน Opera หรือ Firefox มันจะใช้ไอคอนบุ๊กมาร์กเริ่มต้นสำหรับเบราว์เซอร์ (ลูกโลกและดาวตามลำดับ) ไซต์ของฉันมีไอคอน Fav และหน้าต่างแท็บและแม้แต่บุ๊กมาร์ก [ไซต์] ก็ใช้ไอคอน Fav ที่ฉันระบุ ไม่ใช่แค่ bookmarklet ของฉัน

ฉันจะเขียนโค้ดไซต์หรือ bookmarklet เพื่อให้ bookmarklet ได้รับไอคอน Fav ได้อย่างไร

ฉันทราบถึงเทคนิคการแฮ็กเกอร์แบบแมนนวลต่างๆที่ผู้ใช้สามารถใช้เพื่อตั้งค่าไอคอน Fav ได้ แต่เป็นวิธีแก้ปัญหาที่ไม่พึงปรารถนา


ตัวอย่าง: การลาก bookmarklet ใน Opera ทำให้ bookmarklet ไปที่ไอคอน Diigo: diigo.com/tools/diigolet
Pistos

อันที่คุณลิงก์ไม่ได้ทำเพื่อฉันใน firefox
benlumley

ใช่ไม่ใช่ใน IE ด้วย แต่มันทำใน Opera :)
Pistos

ขออภัยฉันเพิ่งลองใช้ Opear 9.6 และมันก็ใช้ไม่ได้กับฉันใน Opera เช่นกัน
Guss

1
มีข้อเสนอสำหรับการแก้ปัญหาที่นี่: wiki.whatwg.org/wiki/Link_Icons
lapo

คำตอบ:


23

bookmarklet ใช้javascript://สคีมาจึงไม่มีโดเมนที่สามารถโหลดไอคอน Fav ได้

ดังนั้นในปัจจุบันไม่มีวิธีใดที่คุณจะระบุไอคอน Fav สำหรับ bookmarklet ได้ ลองนึกถึงสิ่งนี้: จำสิ่งแซนด์บ็อกซ์ Javascript ทั้งหมด - โดยที่ Javascript ไม่สามารถเข้าถึงสิ่งใดนอกโดเมนของหน้าเว็บที่กำลังทำงานอยู่? bookmarklet ที่ต้องเชื่อมโยงกับโดเมนใด ๆ สำหรับหน้าปัจจุบันที่คุณกำลังดูอยู่ไม่สามารถเชื่อมโยงกับไอคอน Fav บนเว็บไซต์ของคุณเองได้

อัปเดต: ตามคำตอบของ Hans Schmucker มีความเป็นไปได้ที่จะสร้าง bookmarklet ซึ่งเมื่อโหลดโดยเบราว์เซอร์ลงในเมนูบุ๊กมาร์กจะสร้างเอกสาร HTML ที่มีไอคอน Fav การให้เหตุผลดูเหมือนจะใช้ได้ผล แต่ฉันยังไม่เห็นบางสิ่งเช่นนี้ในการดำเนินการและการทดสอบของฉันกลับเป็นลบ


17

นี่คือวิธีที่คุณสามารถทำได้:

  1. ลาก bookmarklet ของคุณไปที่ Bookmarks Bar
  2. ถัดจากนั้นสร้างบุ๊กมาร์กของไซต์ที่คุณต้องการใช้ไอคอน Fav สำหรับ bookmarklet
  3. เปิด Bookmarks Manager คลิกจัดระเบียบแบบเลื่อนลงและเลือกส่งออกบันทึกบุ๊กมาร์กของคุณเป็นไฟล์ html
  4. เปิดไฟล์ html นั้นในโปรแกรมแก้ไขข้อความ
  5. ค้นหาบุ๊กมาร์กที่คุณเพิ่งสร้างขึ้นสมมติว่าบุ๊กมาร์ก Gmail คุณควรมีรหัส html ซึ่งมีลักษณะดังนี้:

<DT><A HREF="http://mail.google.com/mail/u/0/#inbox" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABV0lEQVQ4jdWQzUoCYRiFnxl/0plso0IKX7mqXWCLIlq0qEW4d19Qi6BLCELwEgpvQbyAVrroCrSNUJFGAyrkEEEMNs5PCxtRHGsZneX7nedwzgd/LQngObfnykIQOj9Disd/BFxdZ3hVwtE0Mje3kuw9OJqGWSji1BtzYafeGHk0jTdzCIA8aXANA/O6hFWuzMBWuYJ5XcI1DF6MAY8fxmxAYHdnZK7WMAtFXF3H1XXMQhGrWsN2XR5WM/QGn2MmOBkQOj5CFoJhuTKe5DUzbJvW1jbWZhbqd/4BAIGDfSQhGH7XBehLMlruEGlFzEyTZy6AvL5G+PICWQja6iJaPu8L+zbw9B4MYpyeEB4MkF7782z+AZ1OD0WNkk4vA7AUi/HUav8eYNsOnW6XZCJBJLIwvieTcVQ1SrN5j2XbUwFTf9DpdkmnUlOwJ0VRyGY3UBVl7px/qi+cdYQvZvKCUwAAAABJRU5ErkJggg==">Gmail</A>

  1. คัดลอกแท็ก ICON ทั้งหมด
  2. ในไฟล์เดียวกันให้ค้นหา bookmarklet ที่คุณสร้างขึ้นและแทรกแท็ก ICON ที่คุณคัดลอกลงในแท็กbookmarkletของคุณ:

<DT><A HREF="javascript:(function(){... bookmarklet JS code...})();" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABV0lEQVQ4jdWQzUoCYRiFnxl/0plso0IKX7mqXWCLIlq0qEW4d19Qi6BLCELwEgpvQbyAVrroCrSNUJFGAyrkEEEMNs5PCxtRHGsZneX7nedwzgd/LQngObfnykIQOj9Disd/BFxdZ3hVwtE0Mje3kuw9OJqGWSji1BtzYafeGHk0jTdzCIA8aXANA/O6hFWuzMBWuYJ5XcI1DF6MAY8fxmxAYHdnZK7WMAtFXF3H1XXMQhGrWsN2XR5WM/QGn2MmOBkQOj5CFoJhuTKe5DUzbJvW1jbWZhbqd/4BAIGDfSQhGH7XBehLMlruEGlFzEyTZy6AvL5G+PICWQja6iJaPu8L+zbw9B4MYpyeEB4MkF7782z+AZ1OD0WNkk4vA7AUi/HUav8eYNsOnW6XZCJBJLIwvieTcVQ1SrN5j2XbUwFTf9DpdkmnUlOwJ0VRyGY3UBVl7px/qi+cdYQvZvKCUwAAAABJRU5ErkJggg==">MyBookmarklet</A>

  1. บันทึกไฟล์นี้
  2. กลับไปที่ Chrom Bookmarks Manager คลิกอีกครั้งจัดระเบียบแล้วเลือกนำเข้า
  3. นำเข้าไฟล์ HTML ที่คุณเพิ่งแก้ไขตอนนี้ bookmarklet ของคุณมีไอคอน Favแล้ว

โดยทั่วไปขั้นตอนคือการรับ ICON แอตทริบิวต์ของแท็กบุ๊มาร์กและแทรกลงในแท็กbookmarklet

ใส่คำอธิบายภาพที่นี่


1
(นี่เป็นคำถามเก่ามาก แต่ ... ) ฉันกำลังมองหาวิธีแก้ปัญหาที่ไม่จำเป็นต้องมีการดำเนินการของผู้ใช้ปลายทางเลย (นอกเหนือจากการเพิ่ม bookmarklet ลงในแถบเครื่องมือ) เช่นเจ้าของไซต์สามารถทำอะไรได้บ้างเพื่อระบุไอคอน
Pistos

1
สำหรับฉันนี่คือคำตอบที่ดีที่สุด มันใช้งานได้และอธิบายอย่างครอบคลุม ขอบคุณมาก.
tsuma534

13

ไม่ถูกต้อง: bookmarklet ไม่มีโดเมน แต่มีตำแหน่ง (ซึ่งก็คือ bookmarklet นั่นเอง) และคุณสามารถกำหนดไอคอนให้กับสิ่งนั้นได้ หลังจากนั้นก็เป็นเรื่องของวิธีที่เบราว์เซอร์บันทึกไอคอน (Firefox บันทึกไอคอนของบุ๊กมาร์กอย่างถาวรคุณอาจไม่โชคดีกับเบราว์เซอร์อื่น ๆ )

PS Security ไม่ได้เล่นด้วยซ้ำไอคอนสามารถมาจากที่ใดก็ได้ ไม่มีข้อ จำกัด

ดูhttp://www.tapper-ware.net/blog/?p=97


3
ในขณะที่เหตุผลดูเหมือนจะใช้งานได้ แต่ตัวอย่างที่ให้ไว้ในบล็อกที่คุณเชื่อมโยงไว้เพียงแค่สร้างเอกสารที่มีไอคอนที่ Firefox อาจแสดงหรือไม่แสดงสำหรับบุ๊กมาร์กหรือเป็น bookmarklet ที่เรียกใช้ Javascript บนหน้าเว็บโดยพลการ แต่ไม่ใช่ ทั้งสองอย่าง (ทดสอบบน Firefox 7) ฉันยังไม่มั่นใจงานนี้
Guss

13

หลังจากอ่าน tapper [ware] และ Restafarian site นี่เป็นวิธีแก้ปัญหาที่ง่ายที่สุดที่ฉันสามารถทำได้:

<a href="javascript:

var title = window.location.href;

if (title.indexOf('http://yourwebsite/bookmarklet/') == 0) {
    '<head><link rel=\'shortcut icon\' href=\'favicon.ico\'></head>Bookmarklet';
} else {
    (function(){document.body.appendChild(document.createElement('script')).src='http://yourwebsite/bookmarklet.js';})();
}">Click Me!</a>

ใช้งานได้ดีใน Chrome และ FF แต่ FF4 เป็นเบราว์เซอร์เดียวที่จะบันทึกไอคอนในแถบบุ๊กมาร์ก นี่คือสิ่งที่ดูเหมือน: http://cl.ly/5WNR


ฉันกำลังพยายามเรียนรู้เพิ่มเติมเกี่ยวกับ bookmarklets คุณช่วยอธิบายรหัสให้มือใหม่ได้ไหม ขอบคุณ
Andrew Mackenzie

แน่นอน เมื่อคุณคลิกมันจะตรวจสอบ URL ของหน้าปัจจุบัน หากคุณอยู่ในหน้าที่ "โฮสต์" ของ bookmarklet (บรรทัดที่ 4) จะมีการเขียนองค์ประกอบลิงก์ไปยังหน้าที่ชี้ไปยังไอคอน Fav ที่คุณต้องการ เบราว์เซอร์ของคุณจะเห็นสิ่งนี้และดาวน์โหลดไอคอน Fav เบราว์เซอร์จะแคชสิ่งนี้และใช้ไอคอนนี้ในแถบบุ๊กมาร์กของคุณ หากคุณอยู่ในหน้าอื่นมันจะทำทุกอย่างที่ควรทำใน bookmarklet
Brian McAllister

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

6

นี่เป็นเทคนิคที่ดีที่เกือบจะทำในสิ่งที่คุณต้องการ

ใช้งานได้ดีบนMac✅ของฉัน แต่ฉันไม่สามารถทำงานบน Windows 7⃣ได้

ใช้ "อิโมจิ" 🈳 เป็นอักขระ Unicode ซึ่งดูเหมือนไอคอนที่มีสีสัน คุณจะได้รับเลือกจากรายการรูปภาพที่กำหนดไว้ล่วงหน้าเท่านั้น แต่จริงๆแล้วมันก็ไม่เลว💩หากสิ่งที่คุณพยายามทำคือให้สิ่งที่ผู้ใช้ดูเพื่อเตือนให้พวกเขารู้ว่า bookmarklet ทำอะไร

ตัวอย่างเช่นฉันกำลังสร้างbookmarklet📖 "คีย์ความปลอดภัย" ฉันจึงใช้🔑ในชื่อ bookmarklet! 😃😊

โดยพื้นฐานแล้วคุณจะเห็นภาพในแถบบุ๊กมาร์ก😝

ใช้ไซต์นี้เพื่อช่วยคุณค้นหา Emoji ที่เหมาะกับ bookmarklet ของคุณ: http://emojipedia.org/symbols/


1
ฉันเพิ่งได้รับเครื่องหมาย "แบบอักษรไม่มีสัญลักษณ์สำหรับจุดรหัสนี้" มาเต็ม ๆ เนื่องจากฉันใช้ Firefox บน Linux นั่นหมายความว่าพฤติกรรมทางเลือกไม่สามารถพบได้ในแบบอักษรใด ๆในระบบ ฉันเดาถูกหรือเปล่าว่านั่นคือร่ายมนตร์อีโมจิเฉพาะสำหรับ Mac ที่บล็อกเกอร์บอกให้นักออกแบบเว็บไซต์หลีกเลี่ยง
ssokolow

ใช่. อย่างไรก็ตามหากคุณรู้ว่าไคลเอนต์ของคุณกำลังทำงานบนคอมพิวเตอร์ที่สามารถแสดงอีโมจิได้การแสดงอีโมจินั้นแย่มากหรือไม่? สำหรับการใช้งานส่วนตัวของฉันฉันจะอนุญาตให้ผู้ใช้ตัดสินใจว่าต้องการส่งออกอิโมจิหรือไม่ ถ้าไม่ฉันไม่ส่งออกใด ๆ พวกเขาจะได้รับข้อความธรรมดาเท่านั้น
ธีโอ

นอกเหนือจากการเป็นโซลูชันที่สามารถข้ามผ่านความล้มเหลวนับไม่ถ้วนในนักออกแบบเว็บไซต์ที่ใช้มันฉันจะไม่เสี่ยงกับความประทับใจที่ไม่ดีที่ฉันสามารถทำได้เมื่อมีคนโหลดสิ่งที่ฉันสร้างขึ้นในระบบที่ไม่ใช่ Mac อย่างหลีกเลี่ยงไม่ได้
ssokolow

การโหวตบางส่วนเพื่อวัตถุประสงค์ในทางปฏิบัติและบางส่วนเพื่อความบันเทิง อิโมจิคือคำตอบสำหรับทุกปัญหาในชีวิต!
Sridhar Sarnobat

เคล็ดลับ: ใช้เว็บไซต์นี้เพื่อคัดลอกและวางอีโมจิที่คุณต้องการ: emojipedia.org/upwards-black-arrow
Sridhar Sarnobat

4

ตามคำแนะนำของ Wizekคุณสามารถใส่รหัสของคุณลงใน data-uri ได้

data:text/html;charset=utf-8,
<html>
<link rel="shortcut icon" href="https://stackoverflow.com/favicon.ico">
<script type="text/javascript">
    alert('It works!')
</script></html>

และบันทึกทั้งหมดนั้นเป็นบุ๊กมาร์ก ( ลองเลย!ลากโค้ดลงในแถบแท็บของคุณ)

น่าเสียดายที่ใช้งานได้ในบางกรณีเท่านั้น (เพิ่มเติมด้านล่าง)

มันทำงานอย่างไร:

(อย่างน้อยก็ใน Chrome) คล้ายกับ bookmarklet โดยใช้รูปแบบjavascript: "<html>...your html code here, including a javascript tag that will run when loaded...</html>"เหมือนที่โซลูชันอื่นแนะนำ ในกรณีนี้ html จากหน้าที่คุณเปิดอยู่จะถูกแทนที่ด้วย html จาก bookmarklet แต่ตำแหน่งยังคงเหมือนเดิมและ bookmarklet เองจะยังไม่มีตำแหน่งดังนั้น Chrome จึงไม่สามารถบันทึกไอคอน Fav สำหรับมันได้

ในทางตรงกันข้ามกับบุ๊กมาร์ก data-uri ที่เราไปที่หน้าอื่นมันมีตำแหน่งของตัวเองและเบราว์เซอร์สามารถบันทึกไอคอน Fav ไว้ได้ ให้คิดว่าเป็น "การโฮสต์เว็บไซต์ในเบราว์เซอร์ของคุณ" ซึ่งคุณจะสามารถเข้าถึงได้ในคอมพิวเตอร์เครื่องอื่นหากคุณซิงค์บุ๊กมาร์กของคุณ คุณยังสามารถใช้รูปภาพ base64 สำหรับไอคอน Fav แทน url ได้หากคุณต้องการเก็บทุกอย่างไว้ในเครื่อง

มันมีข้อ จำกัด

  • เมื่อคุณคลิกมันออกหน้าปัจจุบันและโหลดหน้าในข้อมูล ดังนั้นคุณจะไม่สามารถใช้สำหรับ bookmarlet ที่โต้ตอบกับเพจปัจจุบันได้เฉพาะสำหรับโค้ดที่คุณสามารถรันในเพจอื่นได้

  • อย่าใช้ // สำหรับความคิดเห็น เนื่องจากทุกอย่างจะถูกบันทึกไว้ในบรรทัดเดียวให้ห่อด้วย / ** / และอย่าลืมอัฒภาคของคุณ

  • ใน FF มันบันทึกไอคอน Fav ไว้ แต่ฉันไม่สามารถตั้งค่าให้เปิดหน้าต่างป๊อปอัปได้ตลอดเวลาหากฉันต้องการใช้ window.open () เพราะไม่อนุญาตให้ฉันบันทึกพฤติกรรมเริ่มต้นสำหรับ URL ข้อมูล


ตัวอย่างเช่น:

การใช้เทคนิคนี้ฉันสร้าง Bookmarklet ขนาดเล็กพร้อม Icon Generator คุณสามารถลากรหัสนี้ลงในแถบ URL ของคุณ (หรือบันทึกเป็นบุ๊กมาร์ก) เพื่อใช้งานได้ เป็นหน้าที่เรียบง่ายที่มีพื้นที่ป้อนรหัสและสำหรับไอคอนจากนั้นจะสร้าง bookmarklet พร้อมกับไอคอน

data:text/html;charset=utf-8,<html><head>
    <title>Bookmarklet With Icon Generator</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" ></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >
    <link rel="shortcut icon" href="https://www.freefavicon.com/freefavicons/objects/plain-thumbs-up-152-237293.png">
</head>
<body>
    <div class="container">
        <div class="page-header">
            <h2>Write your javascript  and specify a favicon, then drag the button to your bookmarks bar</div>
                </h2>
        <a id="bookmarkbutton" href='' ondragend='this.click()' draggable="true" class="btn btn-primary btn-lg" role="button"> 
            Drag me to your bookmarks bar! </a><br /><br />
        <div> 
            <label for="fav_href">Favicon:</label>
            <input id="fav_href" value='https://stackoverflow.com/favicon.ico' style='width:100%'></input> </div><br />
        <div>
            <label for='ta'>Write your JavaScript below</label>
            <textarea id="ta" style="width:100%;height:50%">
setTimeout(()=>{            &%2313
    alert('hello world');   /*Use this format for comments, use %2523 instead of hash (number sign)*/ &%2313
    window.history.back();  &%2313
},200);
            </textarea></div>
  </div>
    <script type = "text/javascript">
        fav_href.onchange = ta.onchange = function(){
            bookmarkbutton.href = 'data:text/html;charset=utf-8,<html><head>'+
                '<link rel="shortcut icon" href="'+ fav_href.value +'">'+
                '<script type="text/javascript"> '+ ta.value +'<\/script>';
            };
        ta.onchange();
    </script>
</body>

อีกตัวอย่าง: Bookmarklet เพื่อเปิด Facebook Messenger ในหน้าต่างเล็ก ๆ ของตัวเอง (อาจไม่ทำงานหากเบราว์เซอร์ของคุณบล็อกป๊อปอัปตามค่าเริ่มต้น)

data:text/html;charset=utf-8,
<html>
    <link rel="shortcut icon" href="https://facebook.com/images/messengerdotcom/favicon/favicon.ico">
    <script type="text/javascript">
        url = 'https://www.messenger.com/';
        w = 740; h = 700;
        x = parseInt( screen.availWidth/2 - w/2 );
        y = parseInt( screen.availHeight/2 - h/2 );
        nw = window.open(url,'', 'width='+ w +',height='+ h +',top='+ y +',left='+ x);
        nw.focus();
        setTimeout(()=>{ 
          window.history.back();
          window.close();  
        },200);
    </script>

วิธีแก้ปัญหาอื่น ๆ ของ Chrome ในการรับไอคอน bookmarklet:

  • ส่งออกแถบบุ๊กมาร์กแก้ไขและนำเข้าอีกครั้งตามที่อธิบายไว้ในคำตอบนี้/superuser/212722/how-can-i-add-a-favicon-to-a-bookmarklet-in- Google Chrome

  • เปลี่ยน bookmarklet เป็นส่วนขยาย มันจะไม่เป็น bookmarklet อีกต่อไป แต่จะมีหน้าที่เหมือนกัน นี่คือเว็บไซต์ง่ายๆที่ทำเพื่อคุณhttp://sandbox.self.li/bookmarklet-to-extension/จากนั้นเพียงแค่เปลี่ยนไฟล์ไอคอนตามที่คุณต้องการ ข้อเสียเปรียบของสิ่งนี้คือส่วนขยายใช้ ram มาก (ประมาณ 10mb สำหรับคนธรรมดา?) ถ้าคุณมี ram มากและน้อยมันอาจไม่ใช่ทางออกสำหรับคุณ นอกจากนี้คุณจะไม่มีข้อความเหมือนในบุ๊กมาร์กมีเพียงไอคอนเท่านั้น


1
ใช้งานได้กับ Chrome และ Safari เท่านั้น ไม่ใช่ Mozilla น่าเสียดาย ความตั้งใจของ bookmarklet คือการใช้งานข้ามเบราว์เซอร์ IMO
sijpkes

นี่เป็นเหมือนสิ่งเดียวที่ใช้ได้ผล วัวศักดิ์สิทธิ์ขอบคุณมาก
Alex Beals

3

เป็นไปได้ที่จะกำหนดและแก้ไขไอคอน Fav ไอคอน Fav โดยใช้จาวาสคริปต์และผืนผ้าใบ (ดูเกมFavicon Defender ของ Faviconที่น่าทึ่ง) ซอร์สโค้ดของเกมจะช่วยให้คุณทำสิ่งนั้นได้ (โดยพื้นฐานแล้วจะอาศัยการใช้ฟังก์ชัน toDataUrl () บนผ้าใบดังที่เห็นในบรรทัด 554 ของแหล่งที่มา)

// set favicon
if( !stupidBrowser && useIcon )
{
     var    icon=$('favicon');
     (newIcon = icon.cloneNode(true)).setAttribute('href',ctx.canvas.toDataURL());
     icon.parentNode.replaceChild(newIcon,icon);
}

จะเกิดอะไรขึ้นเมื่อ bookmarlet ตั้งค่าไอคอน Fav ด้วยวิธีนี้ถูกคลิกหรือบันทึก ฉันไม่รู้ แต่จะดีถ้าลองดู เบราว์เซอร์อาจบันทึก?


1
(ทดสอบใน Chrome) ไม่มีวิธีแก้ปัญหา เมื่อคุณเปลี่ยนไอคอน Fav โดยใช้ bookmarlet คุณจะยังอยู่ในตำแหน่งเดิม เบราว์เซอร์อาจเปลี่ยนไอคอนของบุ๊กมาร์กของหน้าปัจจุบัน แต่จะไม่กำหนดหนึ่งให้กับ bookmarlet
aljgom

1

ฉันคิดว่าวิธีที่เป็นไปได้คือการใช้ unicode char ใน bookmarklet anchor เช่นไอคอนของคุณ:

http://unicode-table.com/en/#cyrillic

การกลั่นกรองสัญลักษณ์ที่เป็นไปได้ทั้งหมดคุณอาจพบอักขระที่มีลักษณะคล้ายกับไอคอนที่คุณต้องการมากขึ้น


1

ดังนั้นนี่ไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์ แต่อาจเป็นขั้นตอนในการดำเนินการ

data:การเข้ารหัสไอคอนในdata:html ที่เข้ารหัสa -uri ใช้งานได้ทำให้ฉันประหลาดใจ

data:text/html;charset=utf-8, <title>Separator Tab</title><link rel="shortcut icon" href="data:image/png;base64,AAABAAEAEBAAAAEAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/5aWlv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP+Wlpb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/lpaW/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/5aWlv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP+Wlpb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/lpaW/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/5aWlv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP+Wlpb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/lpaW/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/5aWlv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP+Wlpb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/lpaW/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5aWlv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACWlpb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /> Separator Tab

เนื่องจากเป็นเช่นนี้<html>เราสามารถวิ่ง<script type="javascript">เข้าไปที่นั่นได้เช่นกัน

สำหรับ bookmarklet บางอย่างอาจเกินพอแล้ว สำหรับคนอื่น ๆ ที่ต้องการแก้ไขหน้าปัจจุบันหรืออย่างน้อยก็ได้รับข้อมูลบางอย่างจากมันก่อนที่จะเปิดแท็บใหม่โชคยังดี ฉันจะอัปเดตคำตอบนี้หากพบวิธีการดังกล่าว

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