web-dev-qa-db-fra.com

Google Chrome "raccourci d'application": comment charger automatiquement JavaScript?

Introduction
Google chrome a une fonctionnalité qui vous permet de créer des raccourcis vers des pages Web et de les faire apparaître comme des applications de bureau traditionnelles.

Par exemple, un raccourci vers Twitter Mobile pourrait être

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

L'icône de fichier de cette application est stockée dans

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

ma question
[.____] Cela fait longtemps que j'ai utilisé cette fonctionnalité et que je semble vous rappeler que vous pouvez ajouter vos propres fichiers JavaScript au dossier d'applications inclus lorsque l'application a été chargée. Cependant, je ne trouve aucune documentation qui traite de cette fonctionnalité, mais je suis certain de 99%, il existe.

Quelqu'un a-t-il des détails si cette fonctionnalité est disponible et quels fichiers que je dois créer?

Clarification

J'ouvre fondamentalement une page Web à l'aide de "Coureur d'application" de Chrome et je souhaite que cette page Web soit actualisée toutes les x secondes. Cependant, je n'ai pas de contrôle sur cette page Web.

Je suis sûr que dans les anciennes versions de Chrome== Ceci était possible ... À moins que je ne puisse devenir fou.

29
GateKiller

Les extensions chromées et leurs scripts de contenu sont également chargés lorsque Chrome démarre en mode App.

Vous pouvez donc créer une extension simple, qui injecte le code JavaScript dans la page comme suit:

1. Créer A manifest.json Fichier:

{
    "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. Le script de contenu

Ensuite, créez un fichier appelé contentscript.js, et ajoutez le code JavaScript souhaité.
[.____] Ce script est inclus à chaque charge de la page correspondante. Toutes les méthodes DOM, via l'objet document est directement disponible. Cependant, window et document.defaultView do pas Pointez sur l'objet window dans la page [Source].

Si vous souhaitez accéder à des méthodes ou des propriétés globales, vous devez créer de manière dynamique un <script>, et l'injection dans la page (voir Construire A Chrome Extension - code d'injection dans une page à l'aide d'un script de conten ).

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. Le script qui sera injecté.

Ensuite, créez un fichier appelé script.js, et placez-le dans le même dossier que manifest.json et contentscript.js. Le code dans script.js Exécute comme s'il s'agissait d'une véritable partie de la page concernée.

La référence pour les scripts de contenu est disponible ICI.

86
Rob W