cevap

9

Sen evet ve hiçbir düğme ile bu kullanarak webRequest özelliği, bir arka plan sayfası ve özel bir sayfa yapabilirsiniz. Örneğin, arka plan sayfası benzer şeyler yazmak:

var URLStorage; 

function interceptRequest(request) 
{ 
    if(request && request.url) 
    { 
    if(request.type == "main_frame") // new page/site is loading in main window 
    { 
     if(request.url.indexOf("wikipedia.org") > -1) 
     { 
     URLStorage = request.url; 
     return {redirectUrl: chrome.extension.getURL("confirmation.html")}; 
     } 
    } 
    } 
} 

chrome.webRequest.onBeforeRequest.addListener(interceptRequest, {urls: ["*://*/*"]}, ['blocking']); 

wikipedia etki alanında söz, bu örnek kesinlikle kontrol etmez, ama netlik için yaptı. Gerçek kodumda, URL'yi ayrıştıran ve her bölümünün özelliklerini sağlayan özel bir 'URL' URL'si kullanılır, böylece seçmeli olarak kontrol edilebilir.

confirmation.html yalnızca 2 düğmeyi yerleştirin ve bir kullanıcı "evet" yanıtını verdiyse, örneğin istenen siteye yönlendirerek uygun bir koda bağlanın.

$('#okbutton').click(function() 
{ 
    document.location.href = chrome.extension.getBackgroundPage().URLStorage; 
}); 

senin manifestin permissions bölümündeki "webRequest" ve "webRequestBlocking" belirtmeyi unutmayın.

-2

Her sayfanın kullanıcının ziyaret içine javascript kodu enjekte eden bir içerik komut dosyası oluşturabilirsiniz. İçerik komut dosyanızda js'nin mevcut URL'yi geçersiz URL'lere karşı kontrol edip buna göre yeniden yönlendirmesini sağlayabilirsiniz. Sayfası, açılış sayfasına yönlendiriliyordur sonra kullanıcı aradıkları sayfasını görür kısa dönem olabilir böylece yüklenir ve sonra

ben içerik komut yükü düşünüyorum. Burada içerik komut docs göz atın: Eğer

"matches": ["http://www.*.com/*", "http://*.com/*, "https://www.*.com/*", "https://*.*.com/*] 

benzer bir şeyin dizi yapmalıdır http://developer.chrome.com/extensions/content_scripts.html

{ 
    "name": "My extension", 
    ... 
    "content_scripts": [ 
    { 
     "matches": ["http://www.google.com/*"], 
     "css": ["mystyles.css"], 
     "js": ["jquery.js", "myscript.js"] 
    } 
    ], 
    ... 
} 

"eşleşen" ve "js" javascript dosyasının adı olacağını sen Enjeksiyonu sayfaya yazmak için kullanmak istiyorum. gibi

şey: Tabii

if(window.location == "http://wikipedia.com"){ 
    window.location.href = "http://mysplashpage.com"; 
} 

, o kullanıcı hedef web sitesinin bir dizine almaya çalışırken eğer, örneğin, her durumda işe yaramaz js. Burada tanımlanan Muhtemelen bazı regex çek veya protokol ve ev sahibi gibi diğer bazı fonksiyonların gerekir: http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/

+3

Eşleşme kalıplarınızın hiçbiri geçerli değil. [Belgeler] 'i okuyun (http://developer.chrome.com/extensions/match_patterns.html). Ben "run_at": "document_start" 'ı kullanmanız önerilir, böylece yönlendirme sayfa oluşturulmadan önce gerçekleşir. –

İlgili konular