Пашырэнне Chrome для перанакіравання карыстальніка на канкрэтных URL-адрасоў

Я хачу пабудаваць пашырэнне хром, які па сутнасці правярае, ці з'яўляецца бягучы дамен у спісе, калі гэта перанакіраваць карыстальніка на іншы URL, дазваляе яму націснуць на спасылку, і чым ідзе да першапачаткова хацеў URL.

У мяне няма вялікага вопыту працы з Javascript або пашырэнняў Chrome, але гэта, здаецца, досыць лёгка для праекта стартэраў.

Тое, што я хачу, каб гэта мець файл гэтай структуры

urlregex1#redirecttourl1
urlregex2#redirecttourl2
.
.
.

і мае хром content_script разбору кожны URL і праверыць, калі адзін з рэгулярных выразаў супадаюць.

Калі гэта так, сцэнар павінен нейкім чынам захаваць зыходны URL і чым перанакіраваць карыстача.

Можа хто-небудзь паставіць мяне ў правільным кірунку, пра тое, як ажыццявіць гэта? Я цалкам страціў паміж яваскриптом функцыямі, хромам пашырэннем АПА, ....

0
Прывітанне Кай вы можаце растлумачыць больш, як вы зрабілі гэта, я ў асноўным мабільны DEV з вельмі невялікі вопыт у JavaScript, гэта будзе мой першы убудова вы можаце дапамагчы мне ў гэтым
дададзена аўтар DAMM108, крыніца

1 адказы

Вам прыйдзецца наладзіць функцыі ў фонавай старонцы, так што ён працуе на ўсіх ўкладках.

// add listener for all tabs
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    var safesite = false;

    if (changeInfo === "loading") {
       //logic for checking white list, using tab.url

        if (!safesite) {
            chrome.tabs.update(tabId, { url: 'www.google.com' });
        }
    }
});

Па сутнасці, вы дадаеце слухач падзей для ўсіх ўкладак. Калі яго загрузка, вы правяраеце, калі яго ў белым спісе. Калі сво чорны спіс сайтаў, перанакіраваць іх на любы URL вы хочаце. Вы можаце таксама уключаны .html файл у каталогу пашырэння паўторна накіраваць іх, а таксама. Гэта спрацоўвае на ўсіх закладках, у тым ліку вэб-інспектар, так што вы можаце змясціць у нейкай логікі толькі праверыць HTTP (S) запытаў.

Акрамя таго, гэты падыход можа паказаць чорны спіс старонкі коратка, а затым паўторна накіраваць вас на старонку blocked_url.html. Эксперыментальны API, WebRequest , павінен забяспечваць магчымасць фільтраваць запыт ДА загрузкі старонкі, але вы не зможаце загружаць, што ў Інтэрнэт-крама Chrome, пакуль яго не стане часткай афіцыйнай Chrome API. Калі яго для асабістага карыстання, то не саромейцеся выкарыстоўваць яго.

Адзін апошні савет для развіцця: вы можаце толькі адладзіць background.html праз Extensions налады старонкі (хром://Налады/extensionSettings). Адкрыйце свердзел ўніз для пашырэння, і вы ўбачыце «Праверыць актыўныя рэжымы прагляду:», дзе вы можаце націснуць на спасылку на любыя старонкі пашырэння канкрэтнага вы ў цяперашні час працуеце. Гэта падыме Web Inspector для гэтай старонкі.

Пасля доўгіх галавы драпаць, я наткнуўся, што выпадкова, і гэта было выратавальнік з тых часоў.

4
дададзена
Дзякуй, гэта было менавіта тое інфармацыя, якую я шукаў!
дададзена аўтар Kai, крыніца