Écrire un plugin Firefox pour analyser un langage personnalisé côté client

StackOverflow https://stackoverflow.com/questions/69982

  •  09-06-2019
  •  | 
  •  

Question

J'avais une idée pour un langage client autre que JavaScript, et j'aimerais étudier le développement d'un plugin Firefox qui traiterait les inclusions de ce nouveau langage dans une page, comme < script type = " newscript " src = " chemin / script.ns " / > ;, comme s'il s'agissait d'une langue supportée de manière native. Le plug-in effectuerait toutes les analyses de langage et serait idéalement en mesure d'effectuer toutes les opérations sur le navigateur, ainsi que les formats html et css de la page Web, de la même manière que le permet JavaScript.

J'ai fait beaucoup de recherches sur Google et j'ai trouvé des articles sur l'écriture de plugins Firefox basiques, mais rien d'aussi compliqué que celui-ci.

Est-ce même possible?

Était-ce utile?

La solution

@Nathan de Vries : non, en fait, les plugins NPAPI que vous avez suggérés ne laissent personne implémenter la prise en charge de <script type=...>.

OP: ce n’est pas facile, mais recherchez les liaisons de langage PyDOM et PyXPCOM pour Python. Le premier fait exactement ce que vous avez demandé - pour Python, mais je ne suis pas sûr de son statut actuel. Dans tous les cas, il est très probable que vous deviez créer votre propre version de Firefox pour prendre en charge des types de script supplémentaires.

Autres conseils

Une idée intéressante. Notez que pour ce faire, vous n'avez pas besoin d'écrire un plugin spécifique au navigateur. Certains personnes ont expérimenté l'utilisation de JRuby dans une applet pour exécuter du code incorporé dans <script type="text/ruby">. Une telle solution peut être plus lente au démarrage (en raison de la surcharge de chargement d'une instance entière de machine virtuelle Java), mais elle sera beaucoup plus flexible à long terme (multi-navigateur). En outre, il est un peu plus facile de créer un interpréteur de langage personnalisé dans un langage JVM que d’essayer de le placer dans Gecko.

Si j'ai bien compris ce que vous aimeriez faire, vous devrez écrire un plugin Gecko. Via un plugin, vous pourrez enregistrer votre propre type MIME, puis manipuler Javascript & Amp; les DOM.

Cela signifie que vous devez inclure une balise <object /> ou <embed /> sur la page pour charger votre plug-in, mais vous pouvez ensuite rechercher <script type="application/x-yourtype" />, saisir le innerText de cette balise de script et l'analyser à l'aide de votre plug-in. .

Comme Nickolay l’a suggéré, l’alternative consiste à utiliser tout ce que le navigateur prend actuellement en charge ou à créer une version personnalisée du navigateur. La suggestion de Daniel Spiewak d'utiliser un applet Java (ou un applet Flash fonctionnerait également) est également valable.

Les informations que vous recherchez sont disponibles sur le site Web du développeur de Mozilla:

Souhaitez-vous vraiment lier vos pages à votre propre langage de script personnalisé? Ou cherchez-vous simplement à écrire votre code côté client dans quelque chose qui n'est pas javascript? Si ce dernier tente MileScript , Haxe ou Boîte à outils Google Web

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top