3

UPDATEリンク:// URLのWebページ

chrome://about/からはchrome://settingsと他人への直接リンクを持っているので、それは行うことができます。

ウェブページのchrome://のURLにリンク/リダイレクトするにはどうすればよいですか?たとえば、chrome://settingsです。 、chrome:// URLへのリンクをクリックする

<a href="chrome://settings">link</a> 

をしようとすると、私はコンソールでエラーが発生します。

Not allowed to load local resource: chrome://settings/ 

この回答によると、それは可能です:

Link to chrome://chrome/extensions from extension options page

私はこのスクリプトを試しました:

<a href="#" id="test">test</a> 
<script> 
document.addEventListener('DOMContentLoaded', function() { 
    document.getElementById('test').addEventListener('click', function() { 
     chrome.tabs.update({ 
      url: 'chrome://chrome/extensions' 
     }); 
    }); 
}); 
</script> 

そしてまた、この1:

<a href="#" onclick="chrome.tabs.create({url:'chrome://settings/clearBrowserData'});">click me</a> 

どちらの作品。これらに加えて、私が試してみた:<a href="chrome://newtab">

  • を使用して、それへのリンク

    • window.locationを使用してユーザーをリダイレクトします。

    ただし、JavaScriptの回避策があると思われます。ユーザーがリンクを押すと、URLをchrome://settingsに変更できますか?ユーザーはを押す必要があります。を入力してください。しかし、これは私が得る最高のようです。

  • +1

    このJavaScriptコードとHTMLはどこに配置されていますか?答えに対するあなたのコメントから、あなたはウェブページにこのリンクを配置したいと思うように思えます。あれは正しいですか?ただし、JavaScriptコードでは拡張機能固有のAPIが使用されています。 – Makyen

    +0

    関連する可能性があります:[Chrome拡張機能のポップアップが機能しない、クリックイベントが処理されない](http://stackoverflow.com/a/17612988/3773011) – Makyen

    +0

    拡張機能で動作するコードと、あなたがリンクしているページ、[chrome:// chrome/extensions from extension options page](http://stackoverflow.com/questions/13125616/link-to-chrome-chrome-extensions-from-extension-ja.html)に記載されています。オプションページ)、およびWebページで動作するコードが含まれます。 chrome.tabsはウェブページで利用できない拡張APIです。 [今ザーンの答えを見る](http://stackoverflow.com/a/40364397/3773011)。 – Makyen

    答えて

    6

    いいえ、ウェブページから行う方法はありません。

    chrome://は特権を持つ元です。開こうとすると、about:blankにリダイレクトされます。

    Chromeは攻撃面を減らすためにその処理を行います。でも、ちょうど開口部かかわらず、これらのURLは無害である必要があり、それはウェブサイトや外部プログラムでもしようとすることを可能にしない方が良いです。

    さらに、無害ではありません。 chrome://crashchrome://hangなどのようなデバッグURL(慎重に、は実際にとなります)。

    明らかに、ウェブサイトに公開されていない拡張APIであるため、chrome.tabsは使用できません。しかし、それは特権的な起源を開くことができます。

    2

    以下は私の仕事です。

    manifest.jsonを

    { 
        "manifest_version": 2, 
    
        "name": "Redirection Sample", 
        "description": "Test Redirection", 
        "version": "1.0", 
    
        "browser_action": { 
        "default_icon": "icon.png", 
        "default_popup": "popup.html" 
        }, 
        "permissions": [ 
        "activeTab", 
        "https://ajax.googleapis.com/" 
        ] 
    } 
    

    popup.html

    <!doctype html> 
    <html> 
        <head> 
        <title>Redirection Popup</title> 
        <script src="popup.js"></script> 
        </head> 
        <body> 
        <a href="#" id="test">test</a> 
        </body> 
    </html> 
    

    popup.js

    document.addEventListener('DOMContentLoaded', function() { 
         document.getElementById('test').addEventListener('click', function() { 
          chrome.tabs.update({ url: 'chrome://chrome/extensions' }); 
         }); 
        }); 
    

    icon.pngの

    は、カスタマイズされたものを追加するか、このlink

    からサンプルをダウンロードし、これらすべての4 1内のディレクトリを含めると、Chromeに拡張機能を解凍ロードします。それは動作するはずです!

    +1

    こんにちは、私の職場は私たちの使用をブロックするので、私は拡張機能を探していません。私はむしろ、拡張機能なしでどんなユーザーにも機能するソリューションを作るだろう – Zackh105

    関連する問題