Version

Introduction

Installation

Limitations du protocole "file"

Questions fréquemment posées

Syntaxe, mots-clés et fonctions intégrées

Distribution standard

Implémentation de import

Packages Brython

Interface avec le navigateur

Introduction - API DOM
Créer un document
Accéder aux éléments
Attributs, propriétés et méthodes

Evénements
Evénements souris
Evénements clavier
Evénements focus
Evénements pour glisser-déposer

Chaine de requête

Interactions avec Javascript

Modules intégrés propres à Brython

browser
browser.aio
browser.ajax
browser.html
browser.local_storage
browser.markdown
browser.object_storage
browser.session_storage
browser.svg
browser.template
browser.timer
browser.webcomponent
browser.websocket
browser.worker

Widgets
browser.widgets.dialog
browser.widgets.menu

interpreter
javascript

Travailler avec Brython

Options d'exécution
Test et débogage
Deployer une application

Recettes

Salut !
Insérer du contenu dans un élément
Mise en forme HTML (gras, italique...)
Table HTML
Attacher / détacher des événements
Gérer la sélection d'options dans un SELECT
Glisser-déposer
Obtenir le contenu d'un élément
Lire le contenu d'un fichier
Stocker des objets localement
Exemple de onmouseover
 

module javascript

Le module javascript permet d'interagir avec les objets définis dans les bibliothèques et programmes Javascript.

javascript.import_js(url[, alias])
Importe le module Javascript à l'url spécifiée et ajoute alias à l'espace de noms local.

Si alias n'est pas fourni, le nom du module est calculé à partir de l'url; par exemple pour import_js('js_test.js') l'alias est js_test.

Le module doit exposer le nom $module, un objet dont les attributs constituent l'espace de noms du script importé.

Exemple: si le script Javascript à l'adresse js_test.js est

var $module = {
    x: 1
}

un script Python peut l'utiliser de la façon suivante:

import javascript

javascript.import_js("js_test.js", alias="js_module")
assert js_module.x == 1

javascript.import_modules(refs, callback)
importe les modules Javascript dont les urls sont dans la liste refs. Quand ils ont tous été importés, la fonction callback est appelée avec comme arguments les modules correspondants aux urls. callback() prend donc autant d'arguments qu'il y a d'urls dans refs

Par exemple si le module exporter.js contient

const x = 1

export {x}

on peut l'utiliser dans un script Python avec

import javascript

def main(module):
    assert module.x == 1

javascript.import_modules(
    ['/path/to/exporter.js'],
    main)

Voir dans la galerie un exemple d'utilisation avec les modules de three.js.

javascript.JSObject
La classe des objets Javascript utilisés dans un programme Python. Si un programme Javascript définit un objet par

window.jsobj = {x: 1}

il peut être testé dans un programme Python par

from browser import window
import javascript

assert isinstance(window.jsobj, javascript.JSObject)

javascript.py2js(src)
Renvoie le code Javascript généré à partir du code source Python src.

javascript.this()
Renvoie l'objet Brython correspondant au mot-cle Javascript this. Peut être nécessaire dans l'utilisation de certains frameworks Javascript, par exemple quand une fonction de retour utilise cet objet this.

Le module permet également de manipuler les objets définis par le langage Javascript. Se référer à la documentation de ces différents objets.

javascript.Date doc
Constructeur d'objets de type "Date".

from javascript import Date

date = Date.new(2012, 6, 10)
print(date.toDateString())

javascript.JSON doc
Objet pour la conversion de et vers des objets au format standardisé JSON. Il expose deux fonctions:

stringify: sérialisation d'objets simples (dictionnaires, listes, tuples, entiers, réels, chaines de caractères)

parse: conversion d'une chaine de caractères en un objet simple

javascript.Math doc
objet pour les fonctions et constantes mathématiques.

javascript.NULL
l'objet Javascript null. Peut servir à tester si un objet Javascript est null.

javascript.Number doc
Constructeur pour les objets de type "number".

javascript.RegExp doc
Constructeur d'objets "expression régulière", utilisant la syntaxe propre à Javascript, qui ne correspond pas complètement à celle de Python. La méthode exec() d'instances de cette classe peut être appliquée à des chaines de caractères Python:

from javascript import RegExp

re = RegExp.new(r"^test(\d+)$")
print(re.exec("test44"))

javascript.String doc
Constructeur d'objets Javascript de type "string". Ils doivent être utilisés si on veut exploiter les méthodes qui acceptent des expressions régulières Javascript comme paramètre:

from javascript import RegExp, String

re = RegExp.new(r"^test(\d+)$")
print(String.new("test33").search(re))

javascript.UNDEFINED
l'objet Javascript undefined. Peut servir à tester si un objet Javascript est undefined.