cluster

Chrome 拡張機能タブ系

目次一覧

 状態:-  閲覧数:824  投稿日:2022-04-25  更新日:2022-04-27
ダウンロード / インストール先 / 整形後コード抜粋

感想


ダウンロード / インストール先 / 整形後コード抜粋

 閲覧数:173 投稿日:2022-04-25 更新日:2022-04-26

ダウンロード


cluster

インストール先


C:\Users\user\AppData\Local\Google\Chrome\User Data\Default\Extensions\aadahadfdmiibmdhfmpbeeebejmjnkef\2.2.6_0

整形後コード抜粋


r! function(e) {
    var n = {};

    function t(o) {
        if (n[o]) return n[o].exports;
        var r = n[o] = {
            i: o,
            l: !1,
            exports: {}
        };
        return e[o].call(r.exports, r, r.exports, t), r.l = !0, r.exports
    }
    t.m = e, t.c = n, t.d = function(e, n, o) {
        t.o(e, n) || Object.defineProperty(e, n, {
            enumerable: !0,
            get: o
        })
    }, t.r = function(e) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }), Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }, t.t = function(e, n) {
        if (1 & n && (e = t(e)), 8 & n) return e;
        if (4 & n && "object" == typeof e && e && e.__esModule) return e;
        var o = Object.create(null);
        if (t.r(o), Object.defineProperty(o, "default", {
                enumerable: !0,
                value: e
            }), 2 & n && "string" != typeof e)
            for (var r in e) t.d(o, r, function(n) {
                return e[n]
            }.bind(null, r));
        return o
    }, t.n = function(e) {
        var n = e && e.__esModule ? function() {
            return e.default
        } : function() {
            return e
        };
        return t.d(n, "a", n), n
    }, t.o = function(e, n) {
        return Object.prototype.hasOwnProperty.call(e, n)
    }, t.p = "", t(t.s = 257)
}({
    16: function(e, n) {
        e.exports = function(e) {
            var n = Array.prototype.slice.call(arguments).slice(1);
            return new Promise(function(t, o) {
                e.apply(null, n.concat(function(e) {
                    return chrome.runtime.lastError ? o(new Error(chrome.runtime.lastError.message)) : t(e)
                }))
            })
        }
    },
    21: function(e, n, t) {
        var o = t(16);
        e.exports = c;
        var r = c.prototype;

        function c() {}
        r.get = function(e) {
            return o(chrome.tabs.get, e)
        }, r.setActive = function(e) {
            return o(chrome.tabs.update, e, {
                active: !0,
                highlighted: !0
            })
        }, r.getCurrent = function() {
            return o(chrome.tabs.getCurrent)
        }, r.getFocused = function() {
            return o(chrome.tabs.query, {
                active: !0,
                currentWindow: !0
            })
        }, r.remove = function(e) {
            return o(chrome.tabs.remove, e)
        }, r.create = function(e, n, t, r) {
            return o(chrome.tabs.create, {
                url: e,
                windowId: n,
                pinned: r,
                selected: t
            })
        }, r.getAllInWindow = function(e) {
            return o(chrome.tabs.query, {
                windowId: e
            })
        }, r.move = function(e, n, t) {
            return "number" != typeof t && (console.warn("Move tab index is not a integer"), t = -1), o(chrome.tabs.move, e, {
                windowId: n,
                index: t
            })
        }, r.discard = function(e) {
            return o(chrome.tabs.discard, e)
        }, r.executeScript = function(e, n) {
            return o(chrome.tabs.executeScript, e, n)
        }, r.update = function(e, n) {
            return o(chrome.tabs.update, e, n)
        }
    },
    257: function(e, n, t) {
        var o = t(21),
            r = t(62);
        const c = new o,
            i = new r,
            u = "window -active-tabs -suspend",
            s = "window -active-tabs -unsuspend",
            d = "window -active -sort",
            a = "window -active -remove-duplicates";
        var w = {
            init: function() {
                this.mainMenu = document.querySelector("#main-menu"), this.manager = document.querySelector("#open-manager"), this.saveNewWindow = document.querySelector("#save-new-window"), this.openWindow = document.querySelector("#open-window"), this.suspendWindow = document.querySelector("#suspend-window"), this.unsuspendWindow = document.querySelector("#unsuspend-window"), this.sortTabs = document.querySelector("#sort-tabs"), this.removeDuplicates = document.querySelector("#remove-duplicates"), this.loadEvents();
                var e = document.querySelector("#manager-command"),
                    n = document.querySelector("#quicksort-command");
                chrome.commands.getAll(t => {
                    t.forEach(t => {
                        "open-window-manager" === t.name ? e.textContent = t.shortcut.replace("Command+", "⌘") : "quick-sort" === t.name && (n.textContent = t.shortcut.replace("Command+", "⌘"))
                    })
                }), console.info("Menu: loaded")
            },
            loadEvents: function() {
                this.manager.addEventListener("click", function(e) {
                    return m().then(function(e) {
                        return chrome.runtime.sendMessage({
                            command: "menu --open-manager",
                            data: {
                                activeTab: e
                            }
                        })
                    }).catch(function(e) {
                        return console.error(e), window.close()
                    })
                }), this.openWindow.addEventListener("click", function(e) {
                    return h(chrome.extension.getURL("menu-open-popup.html"), 460, 260).then(function() {
                        return window.close()
                    })
                }), this.saveNewWindow.addEventListener("click", function(e) {
                    return l().then(function(e) {
                        return i.sendMessage({
                            command: "user -set-cache",
                            data: {
                                win: e
                            }
                        }).then(function() {
                            return h(chrome.extension.getURL("menu-save-popup.html"), 429, 166)
                        }).then(function() {
                            return window.close()
                        })
                    }).catch(function(e) {
                        return console.error(e), window.close()
                    })
                }), this.suspendWindow.addEventListener("click", e => l().then(e => e ? function(e) {
                    return i.sendMessage({
                        command: u,
                        data: {
                            tabIds: e
                        }
                    }).catch(e => (console.error(e), window.close()))
                }(e.tabs.map(e => e.id)).then(() => window.close()).catch(e => (console.error(e), window.close())) : (console.error("Failed to get current window"), window.close())), !1), this.unsuspendWindow.addEventListener("click", e => l().then(e => e ? function(e) {
                    return i.sendMessage({
                        command: s,
                        data: {
                            tabIds: e
                        }
                    }).catch(e => (console.error(e), window.close()))
                }(e.tabs.map(e => e.id)).then(() => window.close()) : Promise.reject(new Error("Failed to get current window"))).catch(e => (console.error(e), window.close()))), this.removeDuplicates.addEventListener("click", e => l().then(e => e ? function(e) {
                    return i.sendMessage({
                        command: a,
                        data: {
                            winId: e
                        }
                    }).catch(e => (console.error(e), window.close()))
                }(e.id).then(window.close) : Promise.reject(new Error("Failed to get current window"))).catch(e => (console.error(e), window.close()))), this.sortTabs.addEventListener("click", e => l().then(e => e ? function(e) {
                    return i.sendMessage({
                        command: d,
                        data: {
                            winId: e,
                            property: "hostname"
                        }
                    }).catch(e => (console.error(e), window.close()))
                }(e.id).then(window.close) : Promise.reject(new Error("Failed to get current window"))).catch(e => (console.error(e), window.close())))
            }
        };

        function l() {
            return m().then(function(e) {
                return i.sendMessage({
                    command: "window -active",
                    data: {
                        winId: e.windowId
                    }
                })
            }).then(function(e) {
                return e || Promise.reject("Failed to get current window")
            })
        }

        function m(e) {
            return c.getFocused({
                active: !0,
                currentWindow: !0
            }).then(function(e) {
                return e.length < 1 ? Promise.reject("Menu was opened when no window was focused") : e[0]
            })
        }

        function h(e, n, t) {
            var o = Math.round(screen.width / 2 - n / 2),
                r = Math.round(screen.height / 2 - t / 2);
            return new Promise(function(c, i) {
                chrome.windows.create({
                    url: e,
                    top: r,
                    left: o,
                    width: n,
                    height: t,
                    focused: !0,
                    type: "popup"
                }, c)
            })
        }
        document.addEventListener("DOMContentLoaded", function(e) {
            w.init()
        })
    },
    62: function(e, n, t) {
        var o = t(16);

        function r() {}
        e.exports = r, r.prototype.sendMessage = function(e) {
            return o(chrome.runtime.sendMessage, e)
        }
    }
});


感想

 閲覧数:168 投稿日:2022-04-26 更新日:2022-04-26

感想


拡張機能としての動作は問題なし。
但し、コードで使用されている変数名が短いため(何の変数か分かりづらいので)、学習用途としては不向きと思われます。


OhMyTab



類似度ページランキング
順位 ページタイトル抜粋
1 cluster 100
2 Potrace 57
3 Crescent Eve 53
4 Bookmarks clean up 48
5 spacer.gif 47
6 History Disabler 43
7 Awesome Screenshot 40
8 Sleipnir 40
9 rem 40
10 Inkscape 40
11 inputタグのsize属性 38
12 font-size 38
13 Next 36
14 CopyTabTitleUrl 36
15 擬似クラス(Pseudo-classes) 36
16 擬似要素(Pseudo-elements) 36
17 Excel 2003 35
18 数値データ型 / Numeric Data Types 35
19 Group Tabs 35
20 「秀丸」 VS 「Crescent Eve」 34
2024/10/06 16:53 更新
週間人気ページランキング / 9-29 → 10-5
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 19
2 鉄道会社毎のカラーコード | カラーコード(色) 16
3 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 14
4 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 7
4 「東京都」のカラーコード取得は難しい | カラーコード(色) 7
4 RGBの種類 / ビットカラー | RGB(色) 7
5 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 6
5 「overflow」効果を打ち消すスタイルシートは、「overflow: auto;」 6
5 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 6
6 max-width: 100%の効果を打ち消すには、max-width: none; | CSS 5
6 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 5
6 「bgcolor」「background-color」「background」の違い | CSS 5
7 黒体 / 色温度 / D65(6500K)/ D50(5000K)/ K | 色 4
7 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 4
8 aタグで複数のブロック要素を囲むやり方 | CSS 3
8 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 3
9 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 2
9 Design 0 2
9 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 2
9 16進数カラーコード / 2進数 2
2024/10/6 1:01 更新