Tso tawm ntawm Brython 3.9, kev siv cov lus Python rau web browsers

luam tawm qhov project tso tawm Brython hwm 3.9 (Browser Python) nrog rau kev siv Python 3 programming lus rau kev ua tiav ntawm lub vev xaib browser sab, tso cai rau koj siv Python es tsis txhob siv JavaScript los tsim cov ntawv sau rau lub vev xaib. Qhov project code yog sau rau hauv Python thiab faib los ntawm nyob rau hauv BSD daim ntawv tso cai. Qhov kev tso tawm tshiab yog qhov tseem ceeb rau nws txoj kev sib raug zoo nrog Nab hab sej 3.9 thiab hloov kho tus qauv tsev qiv ntawv.

Txuas cov tsev qiv ntawv brython.js ΠΈ brython_stdlib.js, tus tsim lub vev xaib tuaj yeem siv Python lus los txhais cov ntsiab lus ntawm qhov chaw ntawm tus neeg siv khoom, siv Python es tsis txhob siv JavaScript. Txhawm rau suav nrog Python code ntawm nplooj ntawv, siv lub cim npe с mime-Ρ‚ΠΈΠΏΠΎΠΌ Β«text/pythonΒ». ДопускаСтся ΠΊΠ°ΠΊ встраиваниС ΠΊΠΎΠ΄Π° Π½Π° страницу, Ρ‚Π°ΠΊ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Π½Π΅ΡˆΠ½ΠΈΡ… скриптов (). Из скрипта прСдоставляСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ элСмСнтам ΠΈ событиям DOM.
Ntxiv rau kev nkag mus rau lub tsev qiv ntawv Python tus qauv, nws muaj cov tsev qiv ntawv tshwj xeeb rau kev cuam tshuam nrog DOM thiab JavaScript cov tsev qiv ntawv xws li jQuery, D3, Highcharts, thiab Raphael. Kev siv CSS lub moj khaum Bootstrap3, LESS thiab SASS tau txais kev txhawb nqa.

Ua Python Code los ntawm Blocks производится Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ этого ΠΊΠΎΠ³Π΄Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Brython послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ инициируСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ brython(), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ «». На основС Python ΠΊΠΎΠ΄Π° формируСтся прСдставлСниС Π½Π° языкС JavaScript, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ‚Π΅ΠΌ выполняСтся ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌ JavaScript-Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (для сравнСния, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ PyPy.js muaj CPython tus neeg txhais lus sau ua ke hauv asm.js rau kev ua tiav Python code hauv browser, thiab Skulpt siv tus neeg txhais lus hauv JavaScript).

Zuag qhia tag nrho kev ua tau zoo ntawm feem ntau cov haujlwm hauv Python scripts embedded nyob rau hauv cov nplooj ntawv web kaw rau CPython kev ua tau zoo. Qhov kev ncua tsuas yog tshwm sim nyob rau theem muab tso ua ke, tab sis txhawm rau tshem tawm nws, muaj peev xwm thauj khoom ua ntej sau ua ke JavaScript code, uas yog siv los ua kom lub sijhawm thauj khoom ntawm lub tsev qiv ntawv txheem (Brython muab cuab yeej tsim cov tsev qiv ntawv JavaScript raws li Python modules).

sij hawm import
import lej

los ntawm browser import ntaub ntawv
import browser.timer

content = document["content"]

...

canvas = content.select_one(β€œ.clock”)

yog hasattr(canvas, 'getContext'):
ctx = canvas.getContext("2d")

browser.timer.set_interval(set_clock, 100)
show_hours()
lwm yam:
content.select_one('.navig_zone').html = "canvas is not supported"

Tau qhov twg los: opennet.ru

Ntxiv ib saib