מדריך | אשכול מתעדכן לסימניות חכמות בכרום
-
מי שאוהב את החיפוש בעלי אקספרס באמצעות האתר זיפי (עריכה: יתכן ויש להם כעת באג באתר), יש סימנייה שכשהגעת למוצר הרצוי תוכל ללחוץ עליה ומיד תועבר לעמוד המוצר בעלי אקספרס (לא זוכר למי הקרדיט).
javascript: (() => { if (location.host !== 'www.zipy.co.il') return alert('הסקריפט מתאים לזיפי בלבד'); const match = location.pathname.match(/\d{10,}/); if (!match) return alert('נראה שאינך בדף מוצר'); const [productId] = match; open(`https://he.aliexpress.com/item/${productId}.html`, '_blank'); })()
-
פוסט זה נמחק!
-
פוסט זה נמחק!
-
@I-believe כתב במדריך | אשכול מתעדכן לסימניות חכמות בכרום:
@יוסי-רחמים הקוד לא עובד
עריכה: ניסיתי שוב ע"י האתר הזה ועכשיו זה עובד.
@I-believe אפשר להוסיף את האתר הזה גם לפוסט הראשון, זה נראה שהוא יותר טוב, יש שם גם יותר פונקציות
javascript:(function()%7Bjavascript%3A(function()%20%7B%0A%20%20%20%20%2F*%0A%20%20%20%20%20*%20ClarityAI%20-%20Polished%20Bookmarklet%20Suite%20v6.1%20(Final)%0A%20%20%20%20%20*%20Fixes%20FOUC%2Fjumping%20issue%20with%20a%20two-step%20rendering%20process.%0A%20%20%20%20%20*%20All%20dynamic%20elements%20are%20now%20created%20invisible%20and%20then%20transitioned%20into%20view.%0A%20%20%20%20%20*%2F%0A%20%20%20%20const%20SERVER_URL%20%3D%20'https%3A%2F%2Fclarityai-smart-tools.onrender.com%2Fmain-ai2.php'%3B%0A%20%20%20%20const%20BM_PREFIX%20%3D%20'clarityai-bm-stable'%3B%0A%20%20%20%20const%20STALL_TIMEOUT_MS%20%3D%208000%3B%0A%20%20%20%20const%20ICONS%20%3D%20%7B%0A%20%20%20%20%20%20%20%20main%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M12%202a4.5%204.5%200%200%200-4.5%204.5c0%201.25.5%202.4%201.34%203.25C7.98%2010.59%207%2012.25%207%2014c0%202.25%202.25%204%205%204s5-1.75%205-4c0-1.75-.98-3.41-1.84-4.25A4.49%204.49%200%200%200%2016.5%206.5A4.5%204.5%200%200%200%2012%202Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2022v-3%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%60%2C%0A%20%20%20%20%20%20%20%20regenerate%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%3Cpolyline%20points%3D%2223%204%2023%2010%2017%2010%22%3E%3C%2Fpolyline%3E%3Cpath%20d%3D%22M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%60%2C%0A%20%20%20%20%20%20%20%20settings%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M19.4%2015a1.65%201.65%200%200%200%20.33%201.82l.06.06a2%202%200%200%201%200%202.83%202%202%200%200%201-2.83%200l-.06-.06a1.65%201.65%200%200%200-1.82-.33%201.65%201.65%200%200%200-1%201.51V21a2%202%200%200%201-2%202%202%202%200%200%201-2-2v-.09A1.65%201.65%200%200%200%209%2019.4a1.65%201.65%200%200%200-1.82.33l-.06.06a2%202%200%200%201-2.83%200%202%202%200%200%201%200-2.83l.06-.06a1.65%201.65%200%200%200%20.33-1.82%201.65%201.65%200%200%200-1.51-1H3a2%202%200%200%201-2-2%202%202%200%200%201%202-2h.09A1.65%201.65%200%200%200%204.6%209a1.65%201.65%200%200%200-.33-1.82l-.06-.06a2%202%200%200%201%200-2.83%202%202%200%200%201%202.83%200l.06.06a1.65%201.65%200%200%200%201.82.33H9a1.65%201.65%200%200%200%201-1.51V3a2%202%200%200%201%202-2%202%202%200%200%201%202%202v.09a1.65%201.65%200%200%200%201%201.51%201.65%201.65%200%200%200%201.82-.33l.06-.06a2%202%200%200%201%202.83%200%202%202%200%200%201%200%202.83l-.06.06a1.65%201.65%200%200%200-.33%201.82V9a1.65%201.65%200%200%200%201.51%201H21a2%202%200%200%201%202%202%202%202%200%200%201-2%202h-.09a1.65%201.65%200%200%200-1.51%201z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%60%2C%0A%20%20%20%20%20%20%20%20close%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222.5%22%3E%3Cline%20x1%3D%2218%22%20y1%3D%226%22%20x2%3D%226%22%20y2%3D%2218%22%3E%3C%2Fline%3E%3Cline%20x1%3D%226%22%20y1%3D%226%22%20x2%3D%2218%22%20y2%3D%2218%22%3E%3C%2Fline%3E%3C%2Fsvg%3E%60%2C%0A%20%20%20%20%20%20%20%20copy%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%2213%22%20height%3D%2213%22%20rx%3D%222%22%20ry%3D%222%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M5%2015H4a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h9a2%202%200%200%201%202%202v1%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%60%2C%0A%20%20%20%20%20%20%20%20copied%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222.5%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E%60%2C%0A%20%20%20%20%20%20%20%20title%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M2%203h6a4%204%200%200%201%204%204v14a3%203%200%200%200-3-3H2z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M22%203h-6a4%204%200%200%200-4%204v14a3%203%200%200%201%203-3h7z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%60%2C%0A%20%20%20%20%20%20%20%20chars%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%3Cline%20x1%3D%224%22%20y1%3D%229%22%20x2%3D%2220%22%20y2%3D%229%22%3E%3C%2Fline%3E%3Cline%20x1%3D%224%22%20y1%3D%2215%22%20x2%3D%2220%22%20y2%3D%2215%22%3E%3C%2Fline%3E%3Cline%20x1%3D%2210%22%20y1%3D%223%22%20x2%3D%228%22%20y2%3D%2221%22%3E%3C%2Fline%3E%3Cline%20x1%3D%2216%22%20y1%3D%223%22%20x2%3D%2214%22%20y2%3D%2221%22%3E%3C%2Fline%3E%3C%2Fsvg%3E%60%2C%0A%20%20%20%20%20%20%20%20time%3A%20%60%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%3E%3C%2Fcircle%3E%3Cpolyline%20points%3D%2212%206%2012%2012%2016%2014%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E%60%0A%20%20%20%20%7D%3B%0A%20%0A%20%20%20%20let%20originalPageContent%20%3D%20null%3B%0A%20%20%20%20let%20currentSettings%20%3D%20%7B%20tone%3A%20'default'%2C%20length%3A%20'medium'%20%7D%3B%0A%20%20%20%20let%20activeRequestController%20%3D%20null%3B%0A%20%20%20%20let%20loaderInterval%20%3D%20null%3B%0A%20%0A%20%20%20%20function%20injectCSS()%20%7B%0A%20%20%20%20%20%20%20%20if%20(document.getElementById(%60%24%7BBM_PREFIX%7D-styles%60))%20return%3B%0A%20%20%20%20%20%20%20%20const%20styleSheet%20%3D%20document.createElement(%22style%22)%3B%0A%20%20%20%20%20%20%20%20styleSheet.id%20%3D%20%60%24%7BBM_PREFIX%7D-styles%60%3B%0A%20%20%20%20%20%20%20%20styleSheet.textContent%20%3D%20%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Aroot%20%7B%20--bm-accent%3A%20%23007aff%3B%20--bm-bg%3A%20%23ffffff%3B%20--bm-text%3A%20%231d1d1f%3B%20--bm-border%3A%20rgba(0%2C0%2C0%2C0.1)%3B%20--bm-shadow%3A%20rgba(0%2C0%2C0%2C0.12)%3B%20--bm-overlay-bg%3A%20rgba(0%2C0%2C0%2C0.4)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%40media%20(prefers-color-scheme%3A%20dark)%20%7B%20%3Aroot%20%7B%20--bm-accent%3A%20%230a84ff%3B%20--bm-bg%3A%20%231c1c1e%3B%20--bm-text%3A%20%23f0f0f0%3B%20--bm-border%3A%20rgba(255%2C255%2C255%2C0.15)%3B%20--bm-shadow%3A%20rgba(0%2C0%2C0%2C0.25)%3B%20--bm-overlay-bg%3A%20rgba(0%2C0%2C0%2C0.6)%3B%20%7D%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Animation%20Fix%3A%20Apply%20transitions%20to%20the%20base%20class%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-loader%2C%20.%24%7BBM_PREFIX%7D-popup-container%2C%20.%24%7BBM_PREFIX%7D-prompt-overlay%2C%20.%24%7BBM_PREFIX%7D-dialog%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20transition%3A%20opacity%200.3s%20ease%2C%20transform%200.4s%20cubic-bezier(0.2%2C%201%2C%200.3%2C%201)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20opacity%3A%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-loader%20%7B%20transform%3A%20translateX(-50%25)%20translateY(-30px)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-popup-container%2C%20.%24%7BBM_PREFIX%7D-dialog%20%7B%20transform%3A%20translate(-50%25%2C%20-50%25)%20scale(0.95)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-prompt-overlay%20%7B%20transition-property%3A%20opacity%2C%20backdrop-filter%3B%20%7D%0A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Animation%20Fix%3A%20The%20.visible%20class%20triggers%20the%20transition%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-loader.visible%2C%20.%24%7BBM_PREFIX%7D-popup-container.visible%2C%20.%24%7BBM_PREFIX%7D-prompt-overlay.visible%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20opacity%3A%201%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-loader.visible%20%7B%20transform%3A%20translateX(-50%25)%20translateY(0)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-popup-container.visible%2C%20.%24%7BBM_PREFIX%7D-prompt-overlay%20.%24%7BBM_PREFIX%7D-dialog.visible%20%7B%20transform%3A%20translate(-50%25%2C%20-50%25)%20scale(1)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-prompt-overlay.closing%20%7B%20opacity%3A%200%20!important%3B%20%7D%0A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-loader%20%7B%20position%3A%20fixed%3B%20top%3A%2016px%3B%20left%3A%2050%25%3B%20z-index%3A%202147483648%3B%20background%3A%20var(--bm-bg)%3B%20color%3A%20var(--bm-text)%3B%20padding%3A%2010px%2020px%3B%20border-radius%3A%2020px%3B%20box-shadow%3A%200%205px%2020px%20var(--bm-shadow)%3B%20border%3A%201px%20solid%20var(--bm-border)%3B%20display%3A%20flex%3B%20align-items%3A%20center%3B%20gap%3A%2012px%3B%20font-weight%3A%20500%3B%20font-family%3A%20-apple-system%2C%20sans-serif%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-loader-spinner%20%7B%20width%3A%2018px%3B%20height%3A%2018px%3B%20border%3A%202px%20solid%20var(--bm-border)%3B%20border-top-color%3A%20var(--bm-accent)%3B%20border-radius%3A%2050%25%3B%20animation%3A%20spin%201s%20linear%20infinite%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%40keyframes%20spin%20%7B%20to%20%7B%20transform%3A%20rotate(360deg)%3B%20%7D%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-popup-container%20%7B%20position%3A%20fixed%3B%20top%3A%2050%25%3B%20left%3A%2050%25%3B%20z-index%3A%202147483647%3B%20background%3A%20var(--bm-bg)%3B%20color%3A%20var(--bm-text)%3B%20border-radius%3A%2018px%3B%20box-shadow%3A%200%2015px%2050px%20var(--bm-shadow)%3B%20backdrop-filter%3A%20blur(10px)%3B%20width%3A%2095%25%3B%20max-width%3A%20720px%3B%20font-family%3A%20-apple-system%2C%20sans-serif%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-header%20%7B%20display%3A%20flex%3B%20align-items%3A%20center%3B%20justify-content%3A%20space-between%3B%20padding%3A%2014px%2020px%3B%20border-bottom%3A%201px%20solid%20var(--bm-border)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-header%20h3%20%7B%20font-size%3A%201.2em%3B%20font-weight%3A%20600%3B%20margin%3A%200%3B%20display%3A%20flex%3B%20align-items%3A%20center%3B%20gap%3A%2010px%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-header%20h3%20svg%20%7B%20width%3A22px%3B%20height%3A22px%3B%20color%3A%20var(--bm-accent)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-header-buttons%20%7B%20display%3A%20flex%3B%20gap%3A%208px%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-btn%20%7B%20background%3A%20transparent%3B%20border%3A%20none%3B%20font-size%3A%201.2em%3B%20cursor%3A%20pointer%3B%20color%3A%20%238e8e93%3B%20padding%3A%206px%3B%20border-radius%3A%2050%25%3B%20width%3A%2036px%3B%20height%3A%2036px%3B%20display%3Aflex%3B%20align-items%3Acenter%3B%20justify-content%3Acenter%3B%20transition%3A%20all%200.2s%20ease%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-btn%20svg%20%7B%20width%3A%2020px%3B%20height%3A%2020px%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-btn%3Ahover%20%7B%20background-color%3A%20var(--bm-border)%3B%20color%3A%20var(--bm-text)%3B%20transform%3A%20scale(1.1)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-content%20%7B%20padding%3A%2025px%3B%20text-align%3A%20right%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-summary-content%20%7B%20max-height%3A%2045vh%3B%20overflow-y%3A%20auto%3B%20line-height%3A%201.75%3B%20white-space%3A%20pre-wrap%3B%20font-size%3A%201.1em%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-summary-content%20strong%20%7B%20color%3A%20var(--bm-accent)%3B%20font-weight%3A%20700%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-footer%20%7B%20padding%3A%2012px%2020px%3B%20border-top%3A%201px%20solid%20var(--bm-border)%3B%20font-size%3A%200.8em%3B%20color%3A%20%238e8e93%3B%20display%3A%20flex%3B%20flex-wrap%3A%20wrap%3B%20gap%3A%2015px%3B%20align-items%3A%20center%3B%20justify-content%3A%20flex-start%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-info-item%20%7B%20display%3A%20flex%3B%20align-items%3A%20center%3B%20gap%3A%205px%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-info-item%20svg%20%7B%20width%3A%2014px%3B%20height%3A%2014px%3B%20opacity%3A%200.7%3B%20stroke-width%3A2.5%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-info-item%20code%20%7B%20background%3A%20rgba(0%2C0%2C0%2C0.07)%3B%20padding%3A%202px%206px%3B%20border-radius%3A%204px%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%40media%20(prefers-color-scheme%3A%20dark)%20%7B%20.%24%7BBM_PREFIX%7D-info-item%20code%20%7B%20background%3A%20rgba(255%2C255%2C255%2C0.1)%3B%20%7D%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-prompt-overlay%20%7B%20position%3A%20fixed%3B%20top%3A%200%3B%20left%3A%200%3B%20width%3A%20100%25%3B%20height%3A%20100%25%3B%20background%3A%20var(--bm-overlay-bg)%3B%20backdrop-filter%3A%20blur(8px)%3B%20z-index%3A%202147483648%3B%20display%3Aflex%3B%20align-items%3Acenter%3B%20justify-content%3Acenter%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog%20%7B%20background%3A%20var(--bm-bg)%3B%20padding%3A%2025px%3B%20border-radius%3A%2016px%3B%20width%3A%2090%25%3B%20max-width%3A%20500px%3B%20text-align%3A%20right%3B%20box-shadow%3A%200%2010px%2040px%20rgba(0%2C0%2C0%2C0.2)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog%20h4%20%7B%20margin%3A%200%200%2010px%200%3B%20font-size%3A%201.2em%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog%20p%20%7B%20font-size%3A0.9em%3B%20color%3A%238e8e93%3B%20margin%3A-5px%200%2015px%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog%20textarea%2C%20.%24%7BBM_PREFIX%7D-dialog%20select%20%7B%20width%3A%20100%25%3B%20padding%3A%2010px%3B%20border%3A%201px%20solid%20var(--bm-border)%3B%20border-radius%3A%208px%3B%20font-size%3A%201em%3B%20margin-bottom%3A%2015px%3B%20resize%3A%20vertical%3B%20background%3A%20var(--bm-bg)%3B%20color%3A%20var(--bm-text)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog-actions%20%7B%20display%3A%20flex%3B%20justify-content%3A%20flex-end%3B%20gap%3A%2010px%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog-button%20%7B%20padding%3A%208px%2016px%3B%20border-radius%3A%208px%3B%20border%3A%20none%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20500%3B%20transition%3A%20all%200.2s%20ease%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog-cancel-btn%20%7B%20background-color%3A%20var(--bm-border)%3B%20color%3A%20var(--bm-text)%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog-confirm-btn%20%7B%20background-color%3A%20var(--bm-accent)%3B%20color%3A%20white%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.%24%7BBM_PREFIX%7D-dialog-confirm-btn%3Ahover%20%7B%20filter%3A%20brightness(1.1)%3B%20%7D%0A%20%20%20%20%20%20%20%20%60%3B%0A%20%20%20%20%20%20%20%20document.head.appendChild(styleSheet)%3B%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20function%20cleanupUI()%20%7B%0A%20%20%20%20%20%20%20%20clearInterval(loaderInterval)%3B%0A%20%20%20%20%20%20%20%20activeRequestController%3F.abort()%3B%0A%20%20%20%20%20%20%20%20document.querySelectorAll(%60.%24%7BBM_PREFIX%7D-loader%2C%20.%24%7BBM_PREFIX%7D-popup-container%2C%20.%24%7BBM_PREFIX%7D-prompt-overlay%60).forEach(el%20%3D%3E%20el.remove())%3B%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20function%20showCompactLoader()%20%7B%0A%20%20%20%20%20%20%20%20cleanupUI()%3B%0A%20%20%20%20%20%20%20%20const%20loader%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20loader.className%20%3D%20%60%24%7BBM_PREFIX%7D-loader%60%3B%0A%20%20%20%20%20%20%20%20const%20spinner%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20spinner.className%20%3D%20%60%24%7BBM_PREFIX%7D-loader-spinner%60%3B%0A%20%20%20%20%20%20%20%20const%20text%20%3D%20document.createElement('span')%3B%0A%20%20%20%20%20%20%20%20const%20messages%20%3D%20%5B%22%D7%9E%D7%9B%D7%99%D7%9F%20%D7%A1%D7%99%D7%9B%D7%95%D7%9D...%22%2C%20%22%D7%9E%D7%A0%D7%AA%D7%97%20%D7%90%D7%AA%20%D7%94%D7%98%D7%A7%D7%A1%D7%98...%22%2C%20%22%D7%9E%D7%96%D7%A7%D7%A7%20%D7%AA%D7%95%D7%91%D7%A0%D7%95%D7%AA...%22%2C%20%22%D7%9B%D7%9E%D7%A2%D7%98%20%D7%A9%D7%9D...%22%5D%3B%0A%20%20%20%20%20%20%20%20let%20msgIndex%20%3D%200%3B%0A%20%20%20%20%20%20%20%20text.textContent%20%3D%20messages%5BmsgIndex%5D%3B%0A%20%20%20%20%20%20%20%20loader.append(spinner%2C%20text)%3B%0A%20%20%20%20%20%20%20%20document.body.appendChild(loader)%3B%0A%20%20%20%20%20%20%20%20requestAnimationFrame(()%20%3D%3E%20loader.classList.add('visible'))%3B%20%2F%2F%20Animation%20fix%0A%20%20%20%20%20%20%20%20loaderInterval%20%3D%20setInterval(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20msgIndex%20%3D%20(msgIndex%20%2B%201)%20%25%20messages.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text.textContent%20%3D%20messages%5BmsgIndex%5D%3B%0A%20%20%20%20%20%20%20%20%7D%2C%202500)%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20function%20updateCompactLoader(message)%20%7B%0A%20%20%20%20%20%20%20%20const%20loaderSpan%20%3D%20document.querySelector(%60.%24%7BBM_PREFIX%7D-loader%20span%60)%3B%0A%20%20%20%20%20%20%20%20if%20(loaderSpan)%20loaderSpan.textContent%20%3D%20message%3B%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20function%20createDialog(title%2C%20contentElements%2C%20buttons)%20%7B%0A%20%20%20%20%20%20%20%20return%20new%20Promise(resolve%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20overlay%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20overlay.className%20%3D%20%60%24%7BBM_PREFIX%7D-prompt-overlay%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20dialog%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20dialog.className%20%3D%20%60%24%7BBM_PREFIX%7D-dialog%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20h4%20%3D%20document.createElement('h4')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20h4.textContent%20%3D%20title%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20dialog.appendChild(h4)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20contentElements.forEach(el%20%3D%3E%20dialog.appendChild(el))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20actions%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20actions.className%20%3D%20%60%24%7BBM_PREFIX%7D-dialog-actions%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20close%20%3D%20(value)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.classList.add('closing')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%20overlay.remove()%3B%20resolve(value)%3B%20%7D%2C%20300)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20buttons.forEach(btnConfig%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20button%20%3D%20document.createElement('button')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.textContent%20%3D%20btnConfig.text%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.className%20%3D%20%60%24%7BBM_PREFIX%7D-dialog-button%20%24%7BbtnConfig.className%7D%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.onclick%20%3D%20()%20%3D%3E%20close(btnConfig.value(dialog))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20actions.appendChild(button)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20dialog.appendChild(actions)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20overlay.appendChild(dialog)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20requestAnimationFrame(()%20%3D%3E%20%7B%20%2F%2F%20Animation%20fix%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.classList.add('visible')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dialog.classList.add('visible')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20overlay.onclick%20%3D%20e%20%3D%3E%20%7B%20if%20(e.target%20%3D%3D%3D%20overlay)%20close(null)%3B%20%7D%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20function%20showResultUI(summaryText%2C%20pageInfo%2C%20isError%20%3D%20false)%20%7B%0A%20%20%20%20%20%20%20%20cleanupUI()%3B%0A%20%20%20%20%20%20%20%20const%20container%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20container.className%20%3D%20%60%24%7BBM_PREFIX%7D-popup-container%60%3B%0A%20%20%20%20%20%20%20%20const%20header%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20header.className%20%3D%20%60%24%7BBM_PREFIX%7D-header%60%3B%0A%20%20%20%20%20%20%20%20const%20title%20%3D%20document.createElement('h3')%3B%0A%20%20%20%20%20%20%20%20title.innerHTML%20%3D%20%60%24%7BICONS.main%7D%3Cspan%3E%24%7BisError%20%3F%20%22%D7%A9%D7%92%D7%99%D7%90%D7%94%22%20%3A%20%22%D7%A1%D7%99%D7%9B%D7%95%D7%9D%20%D7%94%D7%93%D7%A3%22%7D%3C%2Fspan%3E%60%3B%0A%20%20%20%20%20%20%20%20const%20headerButtons%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20headerButtons.className%20%3D%20%60%24%7BBM_PREFIX%7D-header-buttons%60%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20const%20createBtn%20%3D%20(icon%2C%20title%2C%20className%2C%20disabled%20%3D%20false)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20btn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20btn.className%20%3D%20%60%24%7BBM_PREFIX%7D-btn%20%24%7BclassName%7D%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20btn.title%20%3D%20title%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20btn.innerHTML%20%3D%20icon%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20btn.disabled%20%3D%20disabled%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20btn%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20const%20copyBtn%20%3D%20createBtn(ICONS.copy%2C%20%22%D7%94%D7%A2%D7%AA%D7%A7%20%D7%A1%D7%99%D7%9B%D7%95%D7%9D%22%2C%20%60%24%7BBM_PREFIX%7D-copy-btn%60%2C%20isError)%3B%0A%20%20%20%20%20%20%20%20const%20customPromptBtn%20%3D%20createBtn(ICONS.regenerate%2C%20%22%D7%94%D7%A4%D7%A2%D7%9C%D7%94%20%D7%9E%D7%97%D7%93%D7%A9%20%D7%A2%D7%9D%20%D7%94%D7%A0%D7%97%D7%99%D7%94%22%2C%20%60%24%7BBM_PREFIX%7D-regenerate-custom-btn%60)%3B%0A%20%20%20%20%20%20%20%20const%20settingsBtn%20%3D%20createBtn(ICONS.settings%2C%20%22%D7%90%D7%A4%D7%A9%D7%A8%D7%95%D7%99%D7%95%D7%AA%22%2C%20%60%24%7BBM_PREFIX%7D-options-btn%60)%3B%0A%20%20%20%20%20%20%20%20const%20closeBtn%20%3D%20createBtn(ICONS.close%2C%20%22%D7%A1%D7%92%D7%95%D7%A8%22%2C%20%60%24%7BBM_PREFIX%7D-close-btn%60)%3B%0A%20%0A%20%20%20%20%20%20%20%20headerButtons.append(copyBtn%2C%20customPromptBtn%2C%20settingsBtn%2C%20closeBtn)%3B%0A%20%20%20%20%20%20%20%20header.append(title%2C%20headerButtons)%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20const%20content%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20content.className%20%3D%20%60%24%7BBM_PREFIX%7D-content%60%3B%0A%20%20%20%20%20%20%20%20const%20summaryContent%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20summaryContent.className%20%3D%20%60%24%7BBM_PREFIX%7D-summary-content%60%3B%0A%20%20%20%20%20%20%20%20if%20(isError)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20p%20%3D%20document.createElement('p')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20p.style.color%20%3D%20'%23ff453a'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20p.style.whiteSpace%20%3D%20'pre-wrap'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20p.textContent%20%3D%20summaryText%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20summaryContent.appendChild(p)%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20summaryText.split(%2F%5C*%5C*(.*%3F)%5C*%5C*%2Fg).forEach((part%2C%20i)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20node%20%3D%20i%20%25%202%20%3D%3D%3D%201%20%3F%20document.createElement('strong')%20%3A%20document.createTextNode(part)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.textContent%20%3D%20part%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20summaryContent.appendChild(node)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20content.appendChild(summaryContent)%3B%0A%20%20%20%20%20%20%20%20container.append(header%2C%20content)%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20if%20(pageInfo%20%26%26%20!isError)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20footer%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20footer.className%20%3D%20%60%24%7BBM_PREFIX%7D-footer%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20footer.innerHTML%20%3D%20%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22%24%7BBM_PREFIX%7D-info-item%22%20title%3D%22%D7%9B%D7%95%D7%AA%D7%A8%D7%AA%20%D7%94%D7%93%D7%A3%22%3E%24%7BICONS.title%7D%3Cspan%3E%24%7BpageInfo.title.substring(0%2C%2050)%7D...%3C%2Fspan%3E%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22%24%7BBM_PREFIX%7D-info-item%22%20title%3D%22%D7%AA%D7%95%D7%95%D7%99%D7%9D%20(%D7%A1%D7%99%D7%9B%D7%95%D7%9D%20%2F%20%D7%9E%D7%A7%D7%95%D7%A8)%22%3E%24%7BICONS.chars%7D%3Ccode%3E%24%7BpageInfo.summaryCharCount%7D%2F%24%7BpageInfo.originalCharCount%7D%3C%2Fcode%3E%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22%24%7BBM_PREFIX%7D-info-item%22%20title%3D%22%D7%96%D7%9E%D7%9F%20%D7%A2%D7%99%D7%91%D7%95%D7%93%22%3E%24%7BICONS.time%7D%3Ccode%3E%24%7BpageInfo.executionTime%7Ds%3C%2Fcode%3E%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20container.appendChild(footer)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20document.body.appendChild(container)%3B%0A%20%20%20%20%20%20%20%20requestAnimationFrame(()%20%3D%3E%20container.classList.add('visible'))%3B%20%2F%2F%20Animation%20fix%0A%20%0A%20%20%20%20%20%20%20%20%2F%2F%20Attach%20listeners%0A%20%20%20%20%20%20%20%20closeBtn.onclick%20%3D%20cleanupUI%3B%0A%20%20%20%20%20%20%20%20copyBtn.onclick%20%3D%20()%20%3D%3E%20%7B%20navigator.clipboard.writeText(summaryText)%3B%20copyBtn.innerHTML%20%3D%20ICONS.copied%3B%20setTimeout(()%20%3D%3E%20%7B%20copyBtn.innerHTML%20%3D%20ICONS.copy%3B%20%7D%2C%202000)%3B%20%7D%3B%0A%20%20%20%20%20%20%20%20customPromptBtn.onclick%20%3D%20async%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20p%20%3D%20document.createElement('p')%3B%20p.textContent%20%3D%20'%D7%94%D7%96%D7%9F%20%D7%94%D7%A0%D7%97%D7%99%D7%94%20%D7%97%D7%93%D7%A9%D7%94%20%D7%A2%D7%91%D7%95%D7%A8%20%D7%94%D7%98%D7%A7%D7%A1%D7%98.%20%D7%9C%D7%9E%D7%A9%D7%9C%3A%20%22%D7%AA%D7%A8%D7%92%D7%9D%20%D7%9C%D7%90%D7%A0%D7%92%D7%9C%D7%99%D7%AA%22%2C%20%22%D7%94%D7%A4%D7%95%D7%9A%20%D7%9C%D7%A9%D7%99%D7%A8%22%2C%20%22%D7%A1%D7%9B%D7%9D%20%D7%9C%D7%99%D7%9C%D7%93%20%D7%91%D7%9F%2010%22.'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20textarea%20%3D%20document.createElement('textarea')%3B%20textarea.placeholder%20%3D%20'%D7%94%D7%A7%D7%9C%D7%93%20%D7%9B%D7%90%D7%9F...'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20result%20%3D%20await%20createDialog(%22%D7%94%D7%A0%D7%97%D7%99%D7%94%20%D7%9E%D7%95%D7%AA%D7%90%D7%9E%D7%AA%20%D7%90%D7%99%D7%A9%D7%99%D7%AA%22%2C%20%5Bp%2C%20textarea%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B%7B%20text%3A%20%22%D7%91%D7%99%D7%98%D7%95%D7%9C%22%2C%20className%3A%20%60%24%7BBM_PREFIX%7D-dialog-cancel-btn%60%2C%20value%3A%20()%20%3D%3E%20null%20%7D%2C%20%7B%20text%3A%20%22%D7%94%D7%A4%D7%A2%D7%9C%22%2C%20className%3A%20%60%24%7BBM_PREFIX%7D-dialog-confirm-btn%60%2C%20value%3A%20d%20%3D%3E%20d.querySelector('textarea').value%20%7D%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(result)%20runMainProcess(null%2C%20result)%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20settingsBtn.onclick%20%3D%20async%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20createSelect%20%3D%20(id%2C%20label%2C%20options%2C%20selected)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20div%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20lbl%20%3D%20document.createElement('label')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20lbl.htmlFor%20%3D%20id%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20lbl.textContent%20%3D%20label%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20select%20%3D%20document.createElement('select')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20select.id%20%3D%20id%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20options.forEach(opt%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20option%20%3D%20document.createElement('option')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20option.value%20%3D%20opt.value%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20option.textContent%20%3D%20opt.text%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(opt.value%20%3D%3D%3D%20selected)%20option.selected%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20select.appendChild(option)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20div.append(lbl%2C%20select)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20div%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20toneSelect%20%3D%20createSelect('tone-select'%2C%20'%D7%A1%D7%92%D7%A0%D7%95%D7%9F'%2C%20%5B%7Bvalue%3A%20'default'%2C%20text%3A%20'%D7%A8%D7%92%D7%99%D7%9C'%7D%2C%20%7Bvalue%3A%20'bullets'%2C%20text%3A%20'%D7%A0%D7%A7%D7%95%D7%93%D7%95%D7%AA'%7D%2C%20%7Bvalue%3A%20'simple'%2C%20text%3A%20'%D7%A4%D7%A9%D7%95%D7%98'%7D%5D%2C%20currentSettings.tone)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20lengthSelect%20%3D%20createSelect('length-select'%2C%20'%D7%90%D7%95%D7%A8%D7%9A'%2C%20%5B%7Bvalue%3A%20'short'%2C%20text%3A%20'%D7%A7%D7%A6%D7%A8'%7D%2C%20%7Bvalue%3A%20'medium'%2C%20text%3A%20'%D7%91%D7%99%D7%A0%D7%95%D7%A0%D7%99'%7D%2C%20%7Bvalue%3A%20'long'%2C%20text%3A%20'%D7%90%D7%A8%D7%95%D7%9A'%7D%5D%2C%20currentSettings.length)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20contentContainer%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20contentContainer.style.cssText%20%3D%20'display%3Aflex%3B%20flex-direction%3Acolumn%3B%20gap%3A15px%3B'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20contentContainer.append(toneSelect%2C%20lengthSelect)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20result%20%3D%20await%20createDialog(%22%D7%90%D7%A4%D7%A9%D7%A8%D7%95%D7%99%D7%95%D7%AA%20%D7%A1%D7%99%D7%9B%D7%95%D7%9D%22%2C%20%5BcontentContainer%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B%7B%20text%3A%20%22%D7%91%D7%99%D7%98%D7%95%D7%9C%22%2C%20className%3A%20%60%24%7BBM_PREFIX%7D-dialog-cancel-btn%60%2C%20value%3A%20()%20%3D%3E%20null%20%7D%2C%20%7B%20text%3A%20%22%D7%94%D7%97%D7%9C%20%D7%95%D7%A1%D7%9B%D7%9D%20%D7%9E%D7%97%D7%93%D7%A9%22%2C%20className%3A%20%60%24%7BBM_PREFIX%7D-dialog-confirm-btn%60%2C%20value%3A%20d%20%3D%3E%20(%7Btone%3A%20d.querySelector('%23tone-select').value%2C%20length%3A%20d.querySelector('%23length-select').value%7D)%20%7D%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(result)%20%7B%20currentSettings%20%3D%20result%3B%20runMainProcess(currentSettings)%3B%20%7D%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20document.addEventListener('keydown'%2C%20function%20onEsc(e)%20%7B%20if%20(e.key%20%3D%3D%3D%20'Escape')%20cleanupUI()%3B%20%7D%2C%20%7B%20once%3A%20true%20%7D)%3B%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20function%20getDisplayError(error)%20%7B%0A%20%20%20%20%20%20%20%20if%20(error.name%20%3D%3D%3D%20'AbortError')%20return%20%22%D7%94%D7%A4%D7%A2%D7%95%D7%9C%D7%94%20%D7%91%D7%95%D7%98%D7%9C%D7%94.%22%3B%0A%20%20%20%20%20%20%20%20if%20(error.name%20%3D%3D%3D%20'TypeError'%20%26%26%20error.message.includes('Failed%20to%20fetch'))%20return%20%60%D7%94%D7%91%D7%A7%D7%A9%D7%94%20%D7%9C%D7%A9%D7%A8%D7%AA%20%D7%A0%D7%9B%D7%A9%D7%9C%D7%94.%20%D7%94%D7%93%D7%91%D7%A8%20%D7%A7%D7%95%D7%A8%D7%94%20%D7%9C%D7%A2%D7%99%D7%AA%D7%99%D7%9D%20%D7%A7%D7%A8%D7%95%D7%91%D7%95%D7%AA%20%D7%91%D7%A9%D7%99%D7%9E%D7%95%D7%A9%20%D7%91%D7%A1%D7%99%D7%A0%D7%95%D7%9F%20%D7%90%D7%99%D7%A0%D7%98%D7%A8%D7%A0%D7%98%20(%D7%9B%D7%9E%D7%95%20'%D7%A0%D7%98%D7%A4%D7%A8%D7%99')%2C%20%D7%94%D7%97%D7%95%D7%A1%D7%9D%20%D7%92%D7%99%D7%A9%D7%94%20%D7%9C%D7%A9%D7%A8%D7%AA.%5Cn%5Cn%D7%A0%D7%A1%D7%94%20%D7%A9%D7%95%D7%91%20%D7%9E%D7%90%D7%95%D7%97%D7%A8%20%D7%99%D7%95%D7%AA%D7%A8%2C%20%D7%90%D7%95%20%D7%94%D7%92%D7%93%D7%A8%20%D7%97%D7%A8%D7%99%D7%92%D7%94%20%D7%A2%D7%91%D7%95%D7%A8%3A%20%24%7Bnew%20URL(SERVER_URL).hostname%7D%60%3B%0A%20%20%20%20%20%20%20%20return%20%60%D7%90%D7%99%D7%A8%D7%A2%D7%94%20%D7%A9%D7%92%D7%99%D7%90%D7%94%3A%5Cn%24%7Berror.message%7D%60%3B%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20async%20function%20fetchWithStallDetection(url%2C%20options)%20%7B%0A%20%20%20%20%20%20%20%20activeRequestController%20%3D%20new%20AbortController()%3B%0A%20%20%20%20%20%20%20%20options.signal%20%3D%20activeRequestController.signal%3B%0A%20%20%20%20%20%20%20%20const%20stallTimeout%20%3D%20setTimeout(()%20%3D%3E%20updateCompactLoader(%22%D7%A2%D7%93%D7%99%D7%99%D7%9F%20%D7%A2%D7%95%D7%91%D7%93%2C%20%D7%94%D7%A9%D7%A8%D7%AA%20%D7%97%D7%95%D7%A9%D7%91...%22)%2C%20STALL_TIMEOUT_MS)%3B%0A%20%20%20%20%20%20%20%20try%20%7B%20return%20await%20fetch(url%2C%20options)%3B%20%7D%20finally%20%7B%20clearTimeout(stallTimeout)%3B%20%7D%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20async%20function%20runMainProcess(settings%20%3D%20currentSettings%2C%20customInstruction%20%3D%20null)%20%7B%0A%20%20%20%20%20%20%20%20const%20startTime%20%3D%20performance.now()%3B%0A%20%20%20%20%20%20%20%20showCompactLoader()%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(!originalPageContent)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20selectors%20%3D%20%5B'main%20article'%2C%20'article'%2C%20'main'%2C%20'body'%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20(const%20selector%20of%20selectors)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20el%20%3D%20document.querySelector(selector)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(el)%20%7B%20originalPageContent%20%3D%20el.innerText%3B%20break%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20originalPageContent%20%3D%20originalPageContent.replace(%2F%5Cs%2B%2Fg%2C%20'%20').trim().substring(0%2C%2015000)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(!originalPageContent%20%7C%7C%20originalPageContent.length%20%3C%2050)%20throw%20new%20Error(%22%D7%9C%D7%90%20%D7%A0%D7%9E%D7%A6%D7%90%20%D7%9E%D7%A1%D7%A4%D7%99%D7%A7%20%D7%AA%D7%95%D7%9B%D7%9F%20%D7%91%D7%A2%D7%9E%D7%95%D7%93.%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20prompt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(customInstruction)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20prompt%20%3D%20%60%24%7BcustomInstruction%7D%3A%5Cn%5Cn---%5Cn%5Cn%24%7BoriginalPageContent%7D%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20toneMap%20%3D%20%7B%20default%3A%20%22%D7%A1%D7%9B%D7%9D%20%D7%90%D7%AA%20%D7%AA%D7%95%D7%9B%D7%9F%20%D7%94%D7%93%D7%A3.%20%D7%94%D7%A9%D7%AA%D7%9E%D7%A9%20%D7%91-**%D7%94%D7%93%D7%92%D7%A9%D7%95%D7%AA**.%22%2C%20bullets%3A%20%22%D7%A1%D7%9B%D7%9D%20%D7%91%D7%A4%D7%95%D7%A8%D7%9E%D7%98%20%D7%A0%D7%A7%D7%95%D7%93%D7%95%D7%AA%20(bullet%20points).%22%2C%20simple%3A%20%22%D7%94%D7%A1%D7%91%D7%A8%20%D7%91%D7%A9%D7%A4%D7%94%20%D7%A4%D7%A9%D7%95%D7%98%D7%94%20%D7%95%D7%99%D7%93%D7%99%D7%93%D7%95%D7%AA%D7%99%D7%AA.%22%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20lengthMap%20%3D%20%7B%20short%3A%20%22%D7%A9%D7%9E%D7%95%D7%A8%20%D7%A2%D7%9C%20%D7%94%D7%A1%D7%99%D7%9B%D7%95%D7%9D%20%D7%A7%D7%A6%D7%A8.%22%2C%20medium%3A%20%22%D7%A1%D7%A4%D7%A7%20%D7%A1%D7%99%D7%9B%D7%95%D7%9D%20%D7%91%D7%90%D7%95%D7%A8%D7%9A%20%D7%91%D7%99%D7%A0%D7%95%D7%A0%D7%99.%22%2C%20long%3A%20%22%D7%A1%D7%A4%D7%A7%20%D7%A1%D7%99%D7%9B%D7%95%D7%9D%20%D7%9E%D7%A4%D7%95%D7%A8%D7%98.%22%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20prompt%20%3D%20%60%D7%94%D7%A0%D7%97%D7%99%D7%94%20%D7%9C%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA%3A%20%24%7BtoneMap%5Bsettings.tone%5D%7D%20%24%7BlengthMap%5Bsettings.length%5D%7D%20%D7%AA%D7%95%D7%9B%D7%9F%20%D7%94%D7%93%D7%A3%3A%5Cn%5Cn---%5Cn%5Cn%24%7BoriginalPageContent%7D%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20response%20%3D%20await%20fetchWithStallDetection(SERVER_URL%2C%20%7B%20method%3A%20'POST'%2C%20headers%3A%20%7B%20'Content-Type'%3A%20'application%2Fjson'%20%7D%2C%20body%3A%20JSON.stringify(%7B%20text%3A%20prompt%20%7D)%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(!response.ok)%20throw%20new%20Error(%60%D7%A9%D7%92%D7%99%D7%90%D7%AA%20%D7%A9%D7%A8%D7%AA%3A%20%24%7Bresponse.status%7D%60)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20data%20%3D%20await%20response.json()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20endTime%20%3D%20performance.now()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(!data%20%7C%7C%20!data.text)%20throw%20new%20Error(%22%D7%94%D7%A9%D7%A8%D7%AA%20%D7%94%D7%97%D7%96%D7%99%D7%A8%20%D7%AA%D7%92%D7%95%D7%91%D7%94%20%D7%A8%D7%99%D7%A7%D7%94.%22)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20showResultUI(data.text%2C%20%7B%20title%3A%20document.title%2C%20originalCharCount%3A%20originalPageContent.length%2C%20summaryCharCount%3A%20data.text.length%2C%20executionTime%3A%20((endTime%20-%20startTime)%20%2F%201000).toFixed(2)%20%7D)%3B%0A%20%20%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.error(%22ClarityAI%20Bookmarklet%20Error%3A%22%2C%20error)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20showResultUI(getDisplayError(error)%2C%20null%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20injectCSS()%3B%0A%20%20%20%20runMainProcess(currentSettings)%3B%0A%7D)()%3B%7D)()%3B
עריכה נוספת: אמנם זה פותח את החלון של הסיכום (הסיכום עצמו לא עובד אצלי בגלל נטפרי) אבל זה לא מאפשר ללחוץ על הכפתורים, חוץ מהכפתור של הסגירה.
-
משלים gmail.com יש לכתוב @ ולסמן את התו ואז ללחוץ על הסמניה
javascript:(function() { const selection = window.getSelection(); if (!selection.rangeCount) return; const range = selection.getRangeAt(0); const text = selection.toString(); if (!text) return; const converted = text.replace(/@/g, '@gmail.com'); range.deleteContents(); range.insertNode(document.createTextNode(converted)); })();
-
@I-believe יש את הסימניה להתגבר על הבעיה הידועה בהתחברות לחשבון בנק בדיסקונט ומרכנתיל שאין אפשרות לשמור את הקוד מזהה
וכמובן להחליף את הפרטים מספר זהות, סיסמה, וקוד מזהה,
javascript:(()=>{const id='מספר זהות',pass='סיסמה',code='קוד מזהה',i=document.querySelector("input[name='tzId']"),p=document.querySelector("input[name='tzPassword']"),c=document.querySelector("input[name='aidnum']"),f=document.querySelector("form.login-form");function trigger(el){el.dispatchEvent(new Event('input',{bubbles:true}));el.dispatchEvent(new Event('change',{bubbles:true}));}if(i&&p&&c&&f){i.value=id;trigger(i);p.value=pass;trigger(p);c.value=code;trigger(c);f.querySelector("button[type='submit']").click();}else alert("שדות או טופס לא נמצאו");})();
ואם זה מעניין אז עשיתי את אותו דבר גם לאיזור אישי של ביטוח לאומי
javascript:(function(){ var id = 'מספר זהות'; var user = 'שם משתמש'; var pass = 'סיסמה'; var form = document.querySelector("form[name='form']"); if (!form) return alert("לא נמצא טופס הזדהות."); var scope = angular.element(form).scope(); if (!scope || !scope.vm) return alert("Scope לא זמין עדיין."); scope.vm.userZehut = id; scope.vm.userName = user; scope.vm.password = pass; scope.$apply(); var btn = document.querySelector("button[name='btnLogin']"); if (btn) btn.click(); else alert("לא נמצא כפתור התחברות."); })();
וכמובן להכניס את הפרטים האמיתיים במקום מספר זהות שם משתמש וסיסמה
יש את זה לקבלת קוד מהאתר של ימות המשיח
יש לי עוד אולי אעלה בהמשך
-
אולי מעניין מישהו,
סימניה לשליחת מייל עם קישור לדף האינטרנט הנוכחי
עריכה: הוספתי שבהדגשת תוכן הקישור יציג אותו מסומןjavascript:(function(){function a(b){let c=document.querySelector(`meta[name="${b}"]`)||document.querySelector(`meta[property="${b}"]`);return c?c.content:""}const b=document.title,c=location.href,d=(new Date).toLocaleString("he-IL"),e=window.getSelection?window.getSelection().toString().trim():"",f=a("og:site_name");let g="שלום רב,\n\nנשלח בזאת קישור לדף אינטרנט שמצאתי ועשוי לעניין אותך:\n\n";g+="--- מידע על הדף ---\n";g+=`📌 כותרת: ${b}\n`;let h=c;if(e){const i=`${location.origin}${location.pathname}${location.search}#:~:text=${encodeURIComponent(e)}%60;h=i}g+="קישור ישיר (אם סומן טקסט, הקישור יוביל אליו וידגיש אותו):\n";g+=%60${h}\n%60;g+=%60\n⏰ זמן שליחה: ${d}\n%60;f&&(g+=%60🌐 שם אתר: ${f}\n%60);g+="\n------------------------------------\n";g+="בברכה,\n[שם השולח / מקווה לשימושיות]";const i=encodeURIComponent("🔗 קישור לדף: "+b),j=encodeURIComponent(g);window.open("https://mail.google.com/mail/?view=cm&fs=1&to=&su="+i+"&body="+j)})();
קרדיט: כתבתי עם AI ...
אימוגי' - -
-
זה רושם לי ככה על כל דבר שאני מנסה לסכם
-
זה רושם לי ככה על כל דבר שאני מנסה לסכם
@שלמה-ברייר כתב במדריך | אשכול מתעדכן לסימניות חכמות בכרום:
זה רושם לי ככה על כל דבר שאני מנסה לסכם
נטפרי?
איזה מהסימניות זה? -
זה רושם לי ככה על כל דבר שאני מנסה לסכם
@שלמה-ברייר כתב במדריך | אשכול מתעדכן לסימניות חכמות בכרום:
זה רושם לי ככה על כל דבר שאני מנסה לסכם
זה בגלל נטפרי.אם תרצה תוכל להתקין את התוסף AI שלי שיכול לסכם דפים ויש שם פיתרון לנטפרי(יש שם גם ממשק חדש לסיכום ועוד הרבה דברים)
https://mitmachim.top/topic/83852/המלצה-שדרגו-את-הדפדפן-שלכם-עם-ai-suite-pro-חבילת-ה-ai-האולטימטיבית-לגלישהעידכון בעניין הסימנייה
נכון לעכשיו כולם יקבלו שגיאת שרת.זה בגלל שהפכתי את השרת לSTREAMING(עובד על זה...)
-
אז אין משהו לעשות?
כדי שזה יעבוד בנטפרי? -
אשמח אם תעבירו את התגובות שאינם כוללות קודים מוכנים (או אימוג'ים עבור הסימניות), לאשכול הבא שיצרתי במיוחד עבור זה: תגובות - אשכול מתעדכן לסימניות חכמות בכרום
-
סיכום דף בתבנית הבאה:
--- סיכום הבעיה ---הבעיה המרכזית היא ...
קשיים עיקריים: ...
--- הפתרונות המוצעים ---
פתרון א': ...
פתרון ב': ...
פתרון ג': ...
javascript:(async function(){const e=document.createElement("style");e.textContent=".ai-summary-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;font-family:sans-serif}.ai-summary-popup{background:#f0f9ff;padding:24px;border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;direction:rtl;text-align:right;border:1px solid #b3e5fc;box-shadow:0 8px 32px rgba(0,0,0,.2)}.ai-summary-content{min-height:50px;line-height:1.7;color:#0c4a6e;margin-top:16px;white-space:pre-wrap}.ai-summary-close{float:left;cursor:pointer;font-size:28px;color:#999;line-height:1;transition:color .2s}.ai-summary-close:hover{color:#333}",document.head.appendChild(e);const t=document.createElement("div");t.className="ai-summary-overlay",t.onclick=e=>{e.target===t&&document.body.removeChild(t)};const o=document.createElement("div");o.className="ai-summary-popup",t.appendChild(o);const n=document.createElement("span");n.className="ai-summary-close",n.innerHTML="×",n.onclick=()=>document.body.removeChild(t),o.appendChild(n);const c=document.createElement("div");c.className="ai-summary-content",c.innerHTML="מנתח את תוכן הדף...",o.appendChild(c),document.body.appendChild(t);try{const s=%60--- סיכום הבעיה ---\n\nהבעיה המרכזית היא ...\n\nקשיים עיקриים: ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\nפתרון שעובד במידה ויש:%60,a=%60מלא את התבנית הבאה באופן תמציתי ומדויק על סמך הטקסט מהדף:\n\n${s}\n\n---\nהטקסט לניתוח:\n${document.body.innerText.substring(0,7500)}%60,r=await fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})});if(!r.ok){const e=await r.text();throw new Error(%60שגיאת שרת (${r.status}): ${e}%60)}const i=await r.text();let l="";const d=i.split("\n");for(const e of d)if(e.startsWith("data: ")){const t=e.substring(6).trim();if(t&&"[DONE]"!==t)try{const e=JSON.parse(t)?.candidates?.[0]?.content?.parts?.[0]?.text;e&&(l+=e)}catch(e){console.warn("Could not parse JSON line:",t)}}l?c.innerHTML=l:(c.innerHTML='<b style="color:red;">לא התקבל סיכום תקין מהשרת.</b><br><small>ייתכן שהדף ריק או שהשרת החזיר תשובה לא צפויה.</small>',console.log("Raw server response:",i))}catch(e){c.innerHTML=%60<b style="color:red;">אירעה שגיאה קריטית:</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">${e.message}</pre>%60}})();
-
@I-believe
יש סימניה ש @צדיק-תמים יצר כאן להורדת כל הקישורים בנושא במתמחים, או באתרים אחרים.אולי כדאי להוסיף לזה גם קבצי טקסט וPDF?
javascript:(function()%7Bjavascript%3A%20(()%20%3D%3E%20%7B%0A%20%20%20%20const%20suffixes%20%3D%20%5B'exe'%2C%20'zip'%2C%20'rar'%2C%20'7z'%2C%20'tar'%2C%20'bat'%2C%20'cmd'%2C%20'apk'%5D%3B%0A%20%20%20%20const%20linksSelector%20%3D%20suffixes.map((suffix)%20%3D%3E%20%60a%5Bhref%24%3D%22.%24%7Bsuffix%7D%22%5D%60).join('%2C%20')%3B%0A%20%20%20%20const%20links%20%3D%20%24(linksSelector).clone().get()%3B%0A%20%20%20%20const%20ul%20%3D%20%24('%3Cul%2F%3E')%3B%0A%20%20%20%20for%20(const%20link%20of%20links)%20%7B%0A%20%20%20%20%20%20%20%20const%20safeLink%20%3D%20%24('%3Ca%3E').attr('href'%2C%20link.href).text(link.innerText).attr('target'%2C%20'_blank')%3B%0A%20%20%20%20%20%20%20%20const%20li%20%3D%20%24('%3Cli%2F%3E').append(safeLink)%3B%0A%20%20%20%20%20%20%20%20ul.append(li)%3B%0A%20%20%20%20%7D%0A%20%0A%20%20%20%20if%20(!links.length)%20return%20bootbox.alert('%D7%9C%D7%90%20%D7%A0%D7%9E%D7%A6%D7%90%D7%95%20%D7%A7%D7%99%D7%A9%D7%95%D7%A8%D7%99%D7%9D%20%D7%9C%D7%A7%D7%91%D7%A6%D7%99%D7%9D')%3B%0A%20%0A%20%20%20%20bootbox.dialog(%7B%0A%20%20%20%20%20%20%20%20size%3A%20'medium'%2C%0A%20%20%20%20%20%20%20%20title%3A%20%60%D7%A0%D7%9E%D7%A6%D7%90%D7%95%20%24%7Blinks.length%7D%20%D7%A7%D7%99%D7%A9%D7%95%D7%A8%D7%99%D7%9D%20%D7%9C%D7%A7%D7%91%D7%A6%D7%99%D7%9D%3A%60%2C%0A%20%20%20%20%20%20%20%20message%3A%20ul%2C%0A%20%20%20%20%20%20%20%20onEscape%3A%20true%2C%0A%20%20%20%20%20%20%20%20backdrop%3A%20true%2C%0A%20%20%20%20%20%20%20%20buttons%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20open%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20label%3A%20'%D7%94%D7%95%D7%A8%D7%93%20%D7%90%D7%AA%20%D7%9B%D7%9C%20%D7%94%D7%A7%D7%99%D7%A9%D7%95%D7%A8%D7%99%D7%9D'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20className%3A%20'btn-info'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20callback%3A%20function%20()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20(const%20link%20of%20links)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.open(link.href%2C%20'_blank')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20close%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20label%3A%20'%D7%A1%D7%92%D7%95%D7%A8'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20className%3A%20'btn-primary'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20callback%3A%20function%20()%20%7B%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%7D)%3B%0A%7D)()%3B%7D)()%3B