-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bratislava.sk support #78
base: master
Are you sure you want to change the base?
Bratislava.sk support #78
Conversation
Paráda! Toto rieši to problém, že ak sa načíta ditec ako druhý tak prepíše autogram? |
Neviem, asi najľahšie bude vyskúšať, ale vyzerá to, že by mohlo. :) |
Na druhú stranu, do nejakej miery to nedáva zmysel čakať na načítanie DSigneru aby sa nakoniec nepoužil, ale v konečnom dôsledku je to oveľa jednoduchšie. To blokovanie skriptov nie je úplne zlá myšlienka, ale napríklad my čakáme na načítanie tých skriptov, tým, že by boli zablokované by to u nás zlyhalo a k podpisovaniu by sa užívateľ nedostal. |
Presne to som si myslel, že blokovanie môže rozbiť niektoré weby. Ten detectSupportedPlatforms by sme mali implementovať aj my, asi to je niečo z novšej verzie? Mal som ešte jedno riešenie cez Proxy object, ale to je riadne komplikované ( vedeli by sme ignorovať všetky zápisy do toho objektu) A ešte je alternatívou použiť service worker ktorý by ditec skripty nahradil prázdnym súborom (ako adblock), ale tam je problém s hádaním url a ak by ich niekto bundloval tak to nebude fungovať. |
Je možné zavolať Išlo by to s vlastnou proxy čo pri pokuse o prepísanie nespraví nič:
Možno to je aj lepšie riešenie, ale implikácie sa ťažko odhadujú, napríklad u nás by to nefungovalo lebo nemáte to
Asi, ale neviem čo by to malo vracať vo vašom prípade, asi neprázdny array.
To znie ako overkill. |
Namiesto pollovania pri cakani na Ditec by som skusil pouzit Object.watch. Tu som to kedysi pouzil v odpovedi: https://stackoverflow.com/questions/8298430/handling-code-which-relies-on-jquery-before-jquery-is-loaded/29222203#29222203 |
@MarekBodingerBA ak by sme implementovali ad Object.watch() - ten je uz deprecated, a nahradenie toho su proxy objects |
@pomali Áno, Pod ochranou sa myslí, že by sa zapísalo do toho Ono by to malo teoreticky fungovať aj s tým iniciálnym zapísaním Autogramu priamo do toho objektu, ale príde mi to rizikovejšie. Minimálne mám pocit, že tie Ditec SDK skripty sa musia načítať v istom poradí čo by mohlo toto rozhodiť (nechýbal by Autogramu config, ktorý ešte nebude načítaný?). Tiež my načítavame to Ditec SDK iba pri stránkach s podpisovačom, takto by extension injectol Autogram aj na stránkach kde sa podpisovanie nepoužíva (neviem aké by to malo implikácie). |
Pre úplnú jednoduchosť aby sme sa chápali, injectol som do stránky tento script (a simuloval Slow 3G):
chrome_Eci6VCiLz0.mp4To znamená, že ten Otestovať sa to dá tu: |
S očakávaným vydaním formulára obsahujúcim KEP by sme radi podporovali aj tento extension.
Musel som upraviť injectovaciu logiku, keďže Ditec scripty načítavame asynchrónne až po načítaní stránky, pri pôvodnom injecte ešte neboli dostupné.