特定のURLをブロックして1つ前のURLに戻りたい

357 views
Skip to first unread message

洋田中

unread,
Dec 16, 2013, 12:37:35 AM12/16/13
to chrome-api-d...@googlegroups.com
表示したくないURLにアクセスしたら、2つの動作がしたいです。
1. そのURLをブロック
2. 1つ前のページに戻る
この二つのを組み合わせて動作させることができなくて行き詰っております。
アドバイスをお願い致します。

[manifest.json]
{
    "manifest_version": 2,
    "name":"sample",
    "version":"1.0",
    "description":"sample",
    "permissions": [
        "webRequest",
        "webRequestBlocking",
        "webNavigation",
        "*://*/*"
    ],
    "background":
    {
        "page":"background.html"
    }
}

[script.js]
chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
        chrome.tabs.executeScript(details.tabId, {code: 'history.back();'});

        // returnで返すと、URLはブロックされるがhistory.back()が実行されない
        // returnで返さなかったら、history.back()が実行される。ただし、ブロックができない。
        // return {cancel: true};
    },
    {urls:["http://localhost/test.html"]},// 表示したくないURL
    ["blocking"]
);

Toru Yoshikawa

unread,
Dec 16, 2013, 3:01:47 AM12/16/13
to chrome-api-d...@googlegroups.com
吉川です。

ブロックした際に表示されるページでは、Content Scriptsは
動作しないようですので別の方法で実現する必要があるかと思います。

ただ、タブを直接history.back()する手段がないので非常に辛いです。
いくつか候補は挙げますが、自分でブラウザの戻るを使って貰うのが
一番スマートかもしれません。

・chrome.tabs.updateで別のページを表示し、History APIから操作する
・chrome.tabs.updateで元のページを再表示する(入力途中のものとかは消えてしまいます)
・beforeRequestではなく、レスポンスボディを書き換える方法で対応する

他になにか良い案があればどなたかお願いします。



2013年12月16日 14:37 洋田中 <great.sev...@gmail.com>:
> --
> --
> このメールは Google グループのグループ「Chrome API Developers JP」の登録者に送られています。
> このグループに投稿するには、chrome-api-d...@googlegroups.com にメールを送信してください。
> このグループから退会するには、chrome-api-develop...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/chrome-api-developers-jp?hl=ja
> からこのグループにアクセスしてください。
>
> ---
> このメールは Google グループのグループ「Chrome API Developers JP」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、chrome-api-develop...@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
Toru Yoshikawa
mail: pikotea[at]gmail.com
twitter: yoshikawa_t
blog: http://d.hatena.ne.jp/pikotea/

洋田中

unread,
Dec 16, 2013, 9:53:44 AM12/16/13
to chrome-api-d...@googlegroups.com
田中です。

教えていただいた方法で出来そうな気がしました。
ありがとうございます。

Reply all
Reply to author
Forward
0 new messages