2010-07-22 5 views
4

J'ai écrit une extension très simple pour Safari 5 qui ne génère qu'un seul message de journal à partir d'un script de démarrage. Ceci est le script de démarrage:Les scripts d'extension Safari 5.0 ne s'exécutent pas sur les fichiers locaux

console.log ('start script running');

Si je vais à une page Internet (par exemple http://www.yahoo.com) le message du journal apparaît dans la console d'erreur. Mais si j'ouvre une page html locale aucun message de journal n'apparaît. Par local, je veux dire sur ma machine locale. C'est comme si mon script de démarrage n'était jamais exécuté pour les pages locales (par exemple C: /blank.html).

Existe-t-il un paramètre d'autorisation que je ne sais pas ou est-ce une fonctionnalité de Safari 5?

Brent

Répondre

3

caveat: Je n'ai qu'une vague connaissance avec le système d'extension Safari. Je travaille sur Google Chrome basé sur Webkit. Safari est également basé sur webkit.

Dans une extension Google Chrome, vous pouvez injecter un script dans une page locale à l'aide de la permission file://. Mais je suis assez sûr qu'il n'y a pas d'analogue pour les extensions Safari.

Le Safari page on script injection semble aussi dire que vous ne pouvez pas interagir avec les fichiers locaux: «Vous ne pouvez pas accéder à des ressources sur le disque dur de l'utilisateur en dehors du dossier Extensions »

3

Il n'y a pas moyen d'injecter scripts sur les fichiers locaux.

Si cela vous tente, vous pouvez vous plaindre au bugreport.apple.com.