Htmlzclip a reveni textul de copiere cu formatare a operei - a noua biți

Htmlzclip a reveni textul de copiere cu formatare a operei - a noua biți
Anterior, am scris despre extensia pe forum (htm2clip) pentru aproximativ Pera, vă permite să copiați un fragment de pagină menținerea înregistrării sale. Din acel moment, aproape că nu am folosit până de curând nu am avut de a copia rapid o bucată a site-ului, păstrând formatarea ...

Și apoi am constatat că nu funcționează cu noua versiune Despre Pera

Astfel sa născut htmlZclip.
Principalele sale avantaje față de htm2clip:

  • Se lucrează la noi versiuni ale Despre Pera
  • Acesta este de a face de 1,7 ori mai rapid

Me de la htm2clip a fost nevoie de o funcție de copiere (insert nu a utilizat), astfel încât htmlZclip poate numai copia (inserare formatat nu este prezent).

Se pune aproape la fel de bine ca și htm2clip. 2 trebuie să copiați fișierul, și să se înregistreze tipul MIME în browser.

Pe acest utilizator obișnuit poate ieși și de a face afacerea lor, dar dacă nu se consideră ca atare, și prea multe detalii în detalii și insinuări în miezul problemei instrucțiunilor de mai sus nu pe gustul dvs., apoi mergeți mai departe și să studieze articolul până la sfârșit.

Nu sunt aici să spun că copierea mea „standard_menu.ini“ ai putea șterge dvs. un meniu, și este mai bine pentru a insera în loc un nou element din meniu. Din moment ce citiți acest lucru, ar trebui să știi asta.

În această secțiune, aș dori să spun, de exemplu, că a aruncat cu el „htmlZclip.exe“ și să-l prescrie MIME, faceți în browser-ul dvs. ciocan gaura decente. Dacă lăsați totul așa cum este, atunci browser-ul, sa întâlnit pe orice obiect site cu MIME text / htmlZclip. imediat îl trimite la „htmlZclip.exe“, și că, la rândul său, se pune în clipboard ...

Pentru a evita acest lucru, este suficient pentru a înlocui MIME orice nonsens, cum ar fi text / TRali-vali; eli; sandali. MIME ar trebui să fie înlocuit în browser-ul și script-ul (este la începutul script-ul, poate fi găsit prin căutarea, KO-ul), în „standard_menu.ini“.

Poate fi alocată o scurtătură în secțiunea lor de aplicare „standard_keyboard.ini“, de exemplu, pentru combinația de Ctrl + Alt + C:

Sau înregistrați aceeași în GUI: Setări avansate -> Manage. Doar nu uitați să eliminați ghilimelele exterioare.

În directorul „src \“ arhivă conține toate codul sursă. Sursele includ un capac, în care versiunea lor disponibilă
(Format - „htmlZclip v<версия оперы>.<номер версии htmlZclip для данной версии оперы>„), Precum și toate referințele necesare sunt:

Inițial merită văzut ceea ce este stocat în clipboard atunci când copiați, de exemplu, în IE:

Apoi, mai bine verifica afară descrierea pe MSDN descriere exactă în format HTML antet Clipboard Format (CF_HTML).

Apoi, puteți căuta câteva implementări în CF_HTML clipboard:

htmlZclp.js

Acest cod, după ambalare în Compresor YUI este transferat la „standard_menu.ini“.

encodeBase64full

htmlZclip.exe

Este scris în C. și asamblate ocupă 3072 Baja, spre deosebire de htm2clip - Delphi și 14,336 bytes.

Dacă te uiți la „htmlZclip.c“ fișierul, în funcția wWMain de mijloc, veți vedea un design amuzant începe cu „(hText =“. Oferta te de a face cu modul în care funcționează, și ar spune doar că acesta este un mod foarte convenabil de a testa funcțiile WinAPI miniere .

Este necesar doar să ne rugăm înainte de compilare: (.) ​​Unele compilatoare în procesul de optimizare de cod poate rearanja apeluri de funcții, astfel încât acestea nu vor fi numite în mod necesar, iar programul nu va funcționa!

Dacă crezi că ești paranoic, apoi mergeți mai departe și rescrie secțiunea normală de cod, adăugând la controale lipsă, ciclurile și mesajele sale suplimentare pentru utilizator că programul a fost rău. Oh, da, aproape am uitat, puteți elimina încă _GS_CHECK_OFF pentru a calma sufletul.

Cum funcționează

După formarea CF_HTML (date în conformitate cu acest format), acesta este transmis ca DataURL ca src nou iframe.

În continuare, browser-ul, văzând apariția unui obiect nou, prin MIME definește ceea ce ar trebui să facă. În acest caz, browser-ul creează un director pentru fișierele temporare nou fișier și scrie să-l CF_HTML nostru. Apoi, calea către fișierul temporar este transmis în „htmlZclip.exe“ ca opțiune de pornire.

Și, în cele din urmă, „htmlZclip.exe“ suprascrie conținutul fișierului temporar în clipboard cu indicarea formatului „Format HTML“.

Google compresie JS

Și asta e ceea ce avem: lol.

Modalitati de a JIT-compila nepătruns

Decide că schimbarea de cod pentru a forma CF_HTML din titlu nu se va face mai lent decât htmlZclip htm2clip, a început să se schimbe codul. Imaginează-ți surpriza mea când noul „htmlZclip.js“ a început să lucreze cu 8% mai rapid decât cel vechi de 8-O. A se vedea, nu e de mirare, atunci când modificat, în mod constant de gândire despre performanță.

dimensiunea fișierului Semnătură cu fișierul în sine

De obicei, o eliberare a proiectelor am adăuga o semnătură digitală.

De data asta nu am vrut să fac asta. Judecător pentru tine, fișierul „htmlZclip.exe“ dimensiunea 3K, după semnarea cu timestamp-ul a început să cântărească 8 KB.

Din cauza a ceea ce htm2clip a încetat să funcționeze

Aici se vede că a adăugat o singură dată obiectul este eliminat. nu foarte eficient și a dus la o redesenare a fost realizat în vechea re cu privire la executarea acestui design. Noua versiune Despre Pera eliminat acest neajuns.

Dar stai, lipsa de redare înseamnă că un obiect nou, și atunci nimic nu nu va funcționa (a se vedea. Mai sus Cum funcționează) nu va apărea. Prin urmare, ipoteza unui desen htmlZclip obligatoriu am înlocuit pe presupunerea că ar trebui să se întâmple exact de redare în 5 secunde:

ZKyl
Vă mulțumesc foarte mult pentru eficiență.
script-ul este descărcat, programul configurat.
Ne pare rău, nu funcționează

Am testat la 11,01, 11,52 și 11,60
După selectarea textului pe mai multe. secunde, bara de progres (evident, ceva se întâmplă), dar textul nu apare în buffer.

ZKyl,
multumesc din nou.

O cale complet la script-ul nu poate fi; specificat deoarece calea către directorul ujs-script-uri.

Va trebui, probabil, să crească doar la această funcție la îndemână.

Apropo, o soluție parțială pentru a păstra formatarea: Există un script vizualizare-selecție-source.js
(Arată selecția într-un format HTML).

Kiril__777,
Vei cel mai probabil, înainte de a urma sfaturile din secțiunea „Instalarea dopilivat“ schimbat MIME «text / htmlZclip» pe cont propriu.
Noua MIME standard_menu.ini - Standard ( «text / htmlZclip»), așa că va trebui din nou să-l înlocuiască cu propria sa versiune.

ZKyl, mulțumesc pentru pont

Am vrut să întreb, și puteți face un buton „Copiere în Evernote»? Sale copii standard de aplicare ale esesno de operă fără formatare.

ZKyl, a apărut recent voprosets:
este posibil pentru a preda htmlZclip.exe copia textul în alocarea, astfel încât să puteți lipi mai târziu notepat?

totul funcționează bine

Ne pare rău pentru întârziere, pregătirea pentru apărarea unei teze.

> Am vrut să întreb, și puteți face un buton „Copiere în Evernote»? Sale copii standard de aplicare ale esesno de operă fără formatare.
Nu a folosi Evernote, a avut întotdeauna built-in „Copierea fișierelor note.“ Este mai bine să se facă referire la dezvoltatorii Evernote citand htmlZclip.

Dragă ZKyl, publicat recent Opera 12.1, și nu mai funcționează loțiune dumneavoastră minunat: `(

În al patrulea paragraf setările:
apăsați Ctrl + F12. deschideți fila „Avansat“, pentru a alege „Descărcări“ (pe stânga), faceți clic pe „Adăugați ...“
în fereastra care apare, specificați în tip MIME text / htmlZclip ...
Din nou htmlZclip - înlocuiește cu valoarea sa.

articole similare