Existe-t-il un moyen d'obtenir l'extension chromatique du fichier JS distant?Utilisation de JavaScript à distance dans les extensions Chrome
Mon manifest.json ressemble à ceci:
{
"name": "My Extension",
"version": "0.1",
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["jquery.js", "main.js"],
"run_at": "document_end",
"all_frames": true
}
]
}
Je veux utiliser une API JavaScript, qui est limitée par l'utilisation sur le domaine choisi, donc je ne peux pas insérer simplement à la page chargée dans Chrome comme ceci:
$('head').append('<script src="http://example.com/myApi.js?key=%key%"></script>');
car l'API JS me alertés, que je l'utilise sur l'URL, que je ne les ai pas donné.
Je veux juste utiliser certaines fonctions de ce JS distant. La clé de l'API peut être heureusement enregistrée et utilisée sur localhost.
Mais je n'ai aucune idée, comment résoudre ce problème - où mettre le fichier JS distant pour pouvoir l'utiliser.
J'ai une idée pour créer un "virtual DOM", mais ce n'est peut-être pas une solution, car le code de l'API JS ne peut pas être exécuté.
Où insérer le code? Une page d'arrière-plan ??
Peut-être une solution serait d'insérer un iframe de ma page (hébergé quelque part sur mon domaine et enregistré dans l'API) et d'appeler des fonctions JS d'ici? Cette solution pourrait fonctionner, mais elle n'aime pas la dépendance de la disponibilité de mon domaine/serveur. Je voudrais exécuter le code dans un certain "bac à sable" dans Chrome (dans l'affichage de l'API - sur localhost). –
Il semble que vous deviez simplement visiter 'http: //example.com/myApi.js? Key =% key%' dans le navigateur, enregistrer le fichier, l'appeler 'external.js', et le mettre dans le même Placez-y 'jquery.js' et' main.js' (ajoutez-le aussi au manifeste comme ceci: '[" jquery.js "," main.js "," external.js "]'). – Adam