Refactor the click detection logic to check if the click was inside the rectangle of the highlight element, rather than relying on stored rectangle coordinates. Additionally, this update eliminates the need to attach event listeners to the entire window or the parent elements of the host element, simplifying the event handling and potentially improving performance.
Servis za preverjanje pravopisa v dokumentih HTML
Servis je nadgradnja urejevalnikov HTML <div contenteditable="true">
, ki v besedilu urejevalnika preverja in podčrta pravopisne napake. Namenjen je vgradnji v različne spletne strani in storitve, kjer uporabniki vnašajo besedila v naravnem jeziku.
Sistemske zahteve
- Pravopisni strežnik Amebis Besana na http://localhost:225. V končni verziji bo URL pravopisnega strežnika nastavljiv.
- Sodobni brskalnik s podporo za ECMA v(TODO: Vpiši najstarejšo verzijo, kjer še dela) in HTML(TODO: Vpiši najstarejšo verzijo, kjer še dela)
Navodila za vgradnjo
V svoji kodi HTML vključimo servis za preverjanje pravopisa tako, da:
1. Vključimo JavaScript in CSS servisa
Primer:
<head>
...
<link rel="stylesheet" href="styles.css" />
<script>const besUrl = 'http://localhost:225/api/v2';</script>
<script src="service.js"></script>
</head>
Poti do datotek styles.css
in service.js
prilagodimo glede na imenik, kjer hranimo ta repozitorij.
Spremenljivko besUrl
nastavimo po navodilih Amebisa.
2. V kodo HTML vstavimo servis
Primer:
<!-- Vsi elementi z razredom CSS `bes-service` se registrirajo samodejno v document.onload. -->
<div class="bes-service" contenteditable="true">Začetno besedilo</div>
<!-- V dokument mora biti mesto, kjer servis uredi prikaz okna na klik napake. -->
<bes-popup-el></bes-popup-el>
Kadar vstavljamo servis v HTML-jev DOM dinamično (npr. z uporabo JavaScript), registriramo servis tako, da kličemo metodo BesService.register(el)
, kjer el
predstavlja element DOM našega urejevalnika. V tem primeru razred CSS bes-service
ni potreben.
Primer:
const el = document.createElement('div')
// Nastavimo, da uporabnik lahko ureja vsebino elementa urejevalnika.
el.contentEditable = "true";
// Element urejevalnika vstavimo v DOM. Element urejevalnika mora biti
// vstavljen v dokument pred klicem `BesService.register(el)`, ker
// registracija potrebuje njegovo pozicijo v drevesu DOM.
parent.appendChild(el)
// Registriramo servis za naš urejevalnik.
BesService.register(el)
Navodila za razvijalce
Programsko kodo v tem repozitoriju razvijamo s programom Visual Studio Code. Potrebna je namestitev vtičnika esbenp.prettier-vscode
.