web-dev-qa-db-ja.com

Google Chrome "Application Shortcut":JavaScriptを自動ロードする方法は?

はじめに
Google chromeには、Webページへのショートカットを作成して、従来のデスクトップアプリケーションのように表示する機能があります。

たとえば、Twitterモバイルへのショートカットは

C:\Users\<username>\AppData\Local\Google\Chrome\Application\chrome.exe  --app=https://mobile.Twitter.com/

このアプリのファイルアイコンは次の場所に保存されます

C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\Web Applications\mobile.Twitter.com\https_80

私の質問
この機能を使用して久しぶりに、アプリケーションのロード時に含まれていた独自のJavaScriptファイルをappフォルダーに追加できることを覚えているようです。ただし、この機能について説明しているドキュメントは見つかりませんが、99%存在すると確信しています。

この機能が利用可能で、作成する必要のあるファイルがある場合、誰か詳細情報はありますか?

説明

私は基本的にChromeの「アプリケーションショートカット」を使用してウェブページを開いており、このウェブページをx秒ごとに更新したい。ただし、私はこのWebページを制御できません。

古いバージョンのChrome以前は可能でした...

29
GateKiller

Chrome拡張機能とそのコンテンツスクリプトは、Chromeがアプリモードで起動したときにも読み込まれます。

したがって、次のようにページにJavaScriptコードを挿入する単純な拡張機能を作成できます。

1. manifest.json ファイルを作成します。

{
    "name": "Run code on Twitter mobile",
    "version": "1.0",
    "manifest_version": 2,
    "content_scripts": [{
        "js": ["contentscript.js"],
        "matches": ["http://mobile.Twitter.com/*"]
    }],
    "web_accessible_resources": ["script.js"]
}

2.コンテンツスクリプト

次に、contentscript.jsというファイルを作成し、目的のJavaScriptコードを追加します。
このスクリプトは、一致したページが読み込まれるたびに含まれます。 documentオブジェクトを介したすべてのDOMメソッドは直接利用できます。ただし、windowおよびdocument.defaultViewは、ページ内のwindowオブジェクトを指しますnot [ソース]

グローバルメソッドまたはプロパティにアクセスする場合は、<script>を動的に作成し、ページに挿入する必要があります( Building a Chrome Extension-Inject codeコンテンツスクリプトを使用したページ )。

contentscript.js

var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);
s.onload = function() {
    s.parentNode.removeChild(s);
};

3.注入されるスクリプト。

次に、script.jsというファイルを作成し、manifest.jsonおよびcontentscript.jsと同じフォルダに配置します。 script.jsのコードは、影響を受けるページの真の部分であるかのように実行されます。

コンテンツスクリプトのリファレンスが利用可能ですここ

86
Rob W