Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Monkey-patching browser APIs with ZeroFrame

Ouverte
#141 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
javascript
Domaine
frontend, web-dev

Piste de recherche

Commencez par le monkey-patching existant de l’API de navigateur AJAX et retracez la manière dont les actions des wrappers ZeroFrame sont invoquées. Évaluez la faisabilité de l’interception de localStorage et de History, y compris les réécritures d’URL, puis examinez wrapperOpenWindow et wrapperSetTitle ; le travail est terminé lorsque les bibliothèques tierces prises en charge peuvent utiliser ces API sans modifications spécifiques à ZeroNet.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

ZeroFrame currently monkey-patches AJAX browser APIs to add AJAX key. It would also be good to monkey-patch some other browser APIs, like localStorage or history, to call ZeroFrame's wrapper actions instead of directly browser APIs. This would make it possible to use some third-party libraries (like JS routers which use History API, maybe some storage helpers) with ZeroNet without any modifications to them (this currently requires to modify them to use ZeroFrame instead of browser APIs).

Some of APIs which should be monkey-patched are:

  • localStorage: Use wrapper's wrapperGetLocalStorage and wrapperSetLocalStorage. However, I don't know if this is possible because browsers prevent accessing and modifying localStorage object in iframe sandbox.

  • History: Use wrapperGetState, wrapperPushState, wrapperReplaceState and correctly handle URL rewrites in other History's objects. This would be easier because you can access them inside sandbox, but they just don't do anything.

  • As well as some other wrapper actions like wrapperOpenWindow and wrapperSetTitle.

Langage dominant
JavaScript
Étoiles
74
Forks
69
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de HelloZeroNet/ZeroHello

Toutes les issues de HelloZeroNet/ZeroHello

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.