"Kuv mam li nyeem nws tom qab": txoj hmoo nyuaj ntawm kev sau offline ntawm nplooj ntawv Internet

Muaj ntau hom software uas qee tus neeg tsis tuaj yeem ua neej nyob yam tsis muaj, thaum lwm tus tsis tuaj yeem xav tias muaj ib yam khoom zoo li no lossis leej twg xav tau nws txhua. Rau kuv tau ntau xyoo qhov kev pab cuam no yog Macropool WebResearch, uas tso cai rau koj txuag, nyeem thiab teeb tsa cov nplooj ntawv hauv Internet rau hauv ib hom tsev qiv ntawv offline. Kuv paub tseeb tias ntau ntawm peb cov neeg nyeem tau txais los ntawm qhov zoo xwb nrog kev sau cov kev sib txuas lossis kev sib txuas ntawm browser thiab cov ntawv tais ceev tseg nrog cov txheej txheem khaws tseg. Kuv xav kom muaj peev xwm ua tau yam tsawg kawg yog cov ntaub ntawv "nyeem" lossis "nyiam", sai sai txav ntawm ib phau ntawv mus rau lwm qhov thiab tsis nyob ntawm qhov muaj nyob hauv Internet lossis ib qhov chaw tshwj xeeb. Nws tshwm sim hais tias muaj sij hawm los nyeem raws nraim thaum tsis muaj Internet (ntawm txoj kev, piv txwv li), thiab cov kev sib txuas, hmoov tsis, feem ntau tig tawm mus rau luv luv.

Pom tau tias, cov kws sau ntawv ntawm WebResearch tau suav txog kwv yees li cov neeg no. Qhov kev pab cuam no tau ntim nrog ntau yam kev ua haujlwm: cataloging los ntawm ntu thiab cim npe, kho cov ntawv sau, txhua yam ntawm kev xa tawm / ntshuam, thiab lwm yam. Txawm li cas los xij, nyob ib ncig ntawm 2013, qhov project nres tau hloov kho, thiab tom qab ntawd tus tsim tawm lub vev xaib tau tso tseg. Tau ob peb xyoos ntxiv kuv tswj tau caij tus nees no, tab sis ua ntej lub browser plugins poob tawm (muaj tsuas yog rau cov versions ntawm IE thiab FireFox), thiab tom qab ntawd cov chaw niaj hnub tau tso tseg ib txwm tso rau hauv cov neeg saib raws li qub IE lub cav.

"Kuv mam li nyeem nws tom qab": txoj hmoo nyuaj ntawm kev sau offline ntawm nplooj ntawv Internet
WebResearch lub qhov rais, PC Week/RE No. 17 (575)

Txoj kev poob siab

Thaum nws tau pom tseeb tias qhov kev hloov pauv tsis tuaj yeem zam tau, hauv keeb kwm yav dhau kuv pib tshawb nrhiav qhov zoo nkauj analogue. Nws zoo nkaus li rau kuv tias yuav tsis muaj teeb meem tshwj xeeb ntawm no, vim kuv lub siab nyiam tsis tshua muaj siab. Kuv tau npaj ua nrog tsuas yog ib qho me me ntawm WebResearch cov cuab yeej, suav nrog:

  • txuag ib nplooj ntawv HTML los ntawm qhov browser siv qhov txuas ntxiv;
  • yam tsawg kawg nkaus cov cuab yeej cataloging (renaming, npaj catalogs, ntawv);
  • (zoo dua) kev txhawb nqa rau cov ntaub ntawv PDF;
  • txhua txoj hauv kev zoo los sync koj cov khoom sau nrog lwm yam khoom siv.

Ua rau kuv xav tsis thoob, kuv nrhiav tsis tau ib yam dab tsi zoo sib xws, txawm hais tias kuv ncaj ncees scoured hauv Internet deb thiab dav thiab ua tib zoo kawm ib lub kaum os cov kev pab cuam uas phim cov annotations (nrog rau kev zam ntawm Evernote, qhov functionality zoo sib xws nyob rau hauv cov lus piav qhia tsuas yog muaj los ntawm subscription). Niaj hnub no, tsuas yog yam uas tsawg kawg ua rau kuv xav tau yog tej yaam num TagSpaces ΠΈ myBase. Lawv txoj kev kawm, feem ntau hais lus, yog ib qho kev nyiam ntawm kab lis kev cai.

TagSpaces yog qhov "stylish-fashionable-youth" organizer ntawm Electron nrog lub vev xaib zoo nkauj, hloov kho qhov teeb tsa thiab, tau kawg, lub ntsiab lus tsaus, peb yuav nyob qhov twg yam tsis muaj nws. Nyob rau tib lub sijhawm, cov lus tsis txaus siab ntawm cov ntsiab lus ntawm cov khoom sau nrog cov cim sib xws yuav siv sij hawm ib nrab ntawm lub vijtsam, thaum ua kom haum txog nees nkaum lub ntsiab lus ntawm feem ntau, thiab cov khoom yooj yim xws li kev txhawb nqa rau cov yawm sij kub lossis ua cov ntaub ntawv tau saib yog sau. raws li txoj cai residual. Raws li qhov tshwm sim, cov ntaub ntawv tau nthuav tawm crookedly, thiab ua haujlwm nrog cov khoom sau hloov mus ua ib qho tho txawv thiab siv sij hawm siv cov kev tawm dag zog nrog nas.

Nws antipode myBase los ntawm lig nineties: ntawm no, ntxiv rau ua haujlwm nkaus xwb interface peb muaj cov txheej txheem nplua nuj heev ntawm kev teeb tsa thiab kev ua haujlwm. Txawm li cas los xij, lub qhov rais saib ntawm no yog tib qhov browser raws li IE qub (uas twb ua rau kev nyeem ntawv nyuaj), thiab tag nrho cov ntaub ntawv tau muab khaws cia rau hauv cov ntaub ntawv monolithic. Yog tias koj muab tso rau hauv Dropbox nplaub tshev, piv txwv li (tseem tsis muaj lwm txoj hauv kev los synchronize nrog lwm yam khoom siv), tom qab ntawd nrog kev hloov pauv me ntsis hauv kev sau koj yuav tsum tau tos kom txog thaum ntau pua megabytes cov ntaub ntawv raug xa mus rau lub server.

Ib qho kev hloov pauv

Tej zaum, cov ntsiab lus ntxiv ntawm daim ntawv zoo li pom tseeb rau cov neeg nyeem: tam sim no peb yuav muab peb tus kheej lub tsheb kauj vab, uas, ntawm chav kawm, yuav yog lub taub hau thiab lub xub pwg nyom saum ib qho analogue uas twb muaj lawm. Zoo li yog, tab sis tsis heev. Kuv yeej tsis tuaj yeem sawv qhov kev nyuaj siab nrog myBase thiab TagSpaces thiab kos tawm kuv tus kheej cov ntaub ntawv tus thawj tswj hwm, qhov txuas uas kuv yuav muab ze rau qhov kawg. Txawm li cas los xij, qhov haujlwm me me ntawm tus kheej no yuav tsis tsim nyog rau nws tus kheej tsab xov xwm ntawm nws tus kheej; Kuv tabtom sau ntau vim kuv xav tias nws yuav nthuav qhia cov kev paub uas kuv tau txais thaum kuv ua haujlwm thiab ntau qhov kev xav tsis thoob uas kuv tsis tau xav txog.

Cov hom phiaj thiab cov hom phiaj

Cia kuv pib nrog qhov tseeb tias kuv muaj lub neej tsis khoom zoo nkauj tam sim no, thiab kuv tsuas tsis muaj sijhawm rau cov haujlwm uas nyiam ua haujlwm puv ntoob. Yog li ntawd, txij thaum pib, kuv tau txiav txim siab tias kuv tau npaj kuv cov cuab yeej los ntawm txhua yam uas tuaj rau hauv tes, yog tias qhov no yuav ua kom nrawm. Tsis tas li ntawd, rau tam sim no kuv tab tom ua kom siv tsuas yog qhov tsawg kawg nkaus ntawm kev ua haujlwm, uas yog qhov tsis tuaj yeem ua yam tsis muaj.

Cov ntaub ntawv hom thiab Nplooj Txuag

Yuav ua li cas cov nplooj ntawv web yuav tsum khaws cia rau hauv disk? Ua tib zoo xav txog cov kev xav tau yav dhau los, nws zoo li kuv qhov kev xaiv me me: txawm tias "tag nrho cov nplooj ntawv web" txuag hom, uas yog, cov ntaub ntawv HTML tseem ceeb thiab cov ntawv tais ceev tseg nrog cov peev txheej, lossis MHTML hom. Thawj qhov kev xaiv tam sim ntawd zoo li tsis nyiam rau kuv: muaj kev xyiv fab me ntsis hauv kev muaj cov thoob khib nyiab ntawm cov ntaub ntawv ntawm koj lub disk, uas koj yuav tsum tau rho tawm cov ntaub ntawv tseem ceeb, lim tawm cov tsis tsim nyog thaum tshawb nrhiav, thiab saib xyuas kev ncaj ncees thaum luam tawm. Thaum kuv sim ua haujlwm nrog TagSpaces, kuv yuav tsum khaws tag nrho kuv cov ntaub ntawv kom lub npe ntawm cov ntaub ntawv khaws cia pib nrog lub cim: tom qab ntawd lub kaw lus lees paub lawv li "pob ntseg" thiab tsis pom lawv.

Qhov teeb meem no tau muab zais los ntawm kev saib hauv myBase, txij li txhua yam tau khaws cia hauv cov ntaub ntawv, tab sis hauv kuv rooj plaub lub hauv paus ntsiab lus ntawm kev yooj yim prevailed: Kuv yeej xav khaws txhua yam raws li cov ntaub ntawv tsis tu ncua ntawm disk kom kuv tsis tas yuav cuam tshuam nrog kev siv. Cov haujlwm niaj hnub xws li luam, hloov npe, rho tawm thiab synchronizing.

MHTML hom ntawv tab tom dhau lub sijhawm nyuaj. Ib txoj hauv kev yooj yim los cawm MHTML tau ncaws tawm ntawm Chrome lub caij ntuj sov no, thiab kuv tsis paub txawm tias cov nplooj ntawv yuav tsum khaws cia tam sim no nyob qhov twg? Nws yog qhov tseeb tias lub sijhawm tseem tsis tau ploj mus, muaj cov neeg thib peb txuas ntxiv, tab sis feem ntau qhov no yog qee yam cim tsis zoo. Tsis tas li ntawd, txuag hauv MHTML hom tsis txhawb hauv Chromium Embedded Framework, uas kuj tsis ntxiv optimism.

Nyob rau tib lub sijhawm, kuv pib nrhiav txoj hauv kev yooj yim los cawm nplooj ntawv los ntawm browser mus rau ib daim ntawv teev tseg. Raws li qhov tshwm sim, ob qho teeb meem tau daws nrog kev poob me ntsis: Kuv tuaj hla ib txoj haujlwm zoo SingleFile, muaj peev xwm txuag tau cov ntsiab lus ntawm nplooj ntawv web hauv cov ntaub ntawv HTML cais. Qhov no yog ua los ntawm kev hloov tag nrho cov peev txheej cuam tshuam rau hom ntawv base64 thiab embedding lawv ncaj qha rau hauv HTML. Tau kawg, cov ntaub ntawv loj hlob tuaj, thiab cov ntsiab lus zoo li me ntsis cluttered, tab sis tag nrho cov mus kom ze zoo li txhim khu kev qha thiab yooj yim rau kuv, thiab kuv nyob ntawm nws.

SingleFile los ua ob qhov browser txuas ntxiv thiab daim ntawv thov kab hais kom ua. Tam sim no kuv tsuas yog siv qhov txuas ntxiv: nws yooj yim heev, tshwj tsis yog qhov tseeb tias koj yuav tsum manually xaiv lub hom phiaj khaws cia. Nyob rau hauv lub neej yav tom ntej, tej zaum kuv yuav sim txhim kho daim ntawv thov kom yooj yim cov txheej txheem no. Txhawm rau hu rau daim ntawv thov thib peb los ntawm Chrome, koj tuaj yeem siv qhov txuas ntxiv Sab nraud Application Button - qhov no yog lwm qhov kev tshawb pom muaj txiaj ntsig ntawm kuv. Los ntawm txoj kev, daim ntawv thov tau muaj txiaj ntsig zoo: nrog nws txoj kev pab kuv tau hloov pauv cov ntawv sau thiab cov ntaub ntawv los ntawm TagSpaces rau hauv cov ntaub ntawv HTML ywj pheej.

Teeb meem nrog GUI thiab browser

Kuv pom Python ua tau zoo rau txhua hom ntaub ntawv yooj yim thiab txoj hlua ua haujlwm, thiab txij li ib qho ntawm kuv cov haujlwm ua haujlwm siv wxWidgets, kev xaiv wb python zoo li logical raws li lub hauv paus ntsiab lus.

Tsis tas li ntawd, tau pom muaj teeb meem txaus nrog kev nthuav tawm nplooj ntawv hauv lwm cov kev pab cuam, kuv tuaj txog qhov xaus tias tib txoj kev txhim khu kev qha los daws lawv yog los qhia txog qhov pom kev rau hauv qhov kev pab cuam raws li niaj hnub browser, uas yog, Chrome lossis Firefox.

Kuv yuav tsum lees tias lub sijhawm kawg uas kuv yuav tsum tau ua tej yam zoo li no yog kwv yees li 15 xyoo dhau los, thiab kuv tsis xav tias yuav muaj kev puas tsuaj. Nws muab tawm tias nws tsis tuaj yeem "tsuas yog nplawm qhov browser ntawm daim ntawv": qee qhov tib neeg tsis tuaj yeem ntseeg tau thiab thoob ntiaj teb tiv thaiv txoj haujlwm no. Qee hom ntawv teev npe lossis khawm ntawm ib daim ntawv tuaj yeem muab tso rau hauv ib qho GUI lub moj khaum, thiab txawm tias tsim cov lej hla platform, thiab nws zoo li kuv tias xyoo 2019, HTML zaub yuav tsum yog qhov teeb meem thoob ntiaj teb.

Nws muab tawm tias nyob rau hauv wxWidgets, piv txwv li, tus qauv "browser" tivthaiv yog tus ntoo khaub lig-platform wrapper hla lub system-dependent "browser", uas nyob rau hauv rooj plaub ntawm Windows, piv txwv li, txhais tau tias. Internet Explorer 7, thiab qhov xwm txheej hauv Windows Forms tsis zoo dua, thiab cov ntawv tshiab dua IE9 tsuas yog siv tsis tseem ceeb. kev sau npe manipulation. Raws li koj tuaj yeem pom, Kuv tsis yog tib tus uas tau ua lwm yam rau 15 xyoo dhau los - tsis muaj dab tsi tshwm sim ntawm no thiab.

Tom qab ntawd kuv tau ntsib nrog kev xaiv: hloov lub moj khaum lossis nrhiav lwm qhov kev tivthaiv rau qhov browser. Tom qab tsis kam, kuv txiav txim siab sim txoj kev thib ob ua ntej thiab sai sai hla qhov project CEF Python: Python khi rau Chromium Embedded Framework, tsim tshwj xeeb rau txoj haujlwm ntawm embedding Chromium rau hauv daim ntawv thov Python.

Txheeb xyuas qhov xwm txheej: Python yog ib hom lus nrov tshaj plaws hauv lub ntiaj teb, Chrome yog qhov tseem ceeb hauv kev lag luam hauv browser. Tib lub sijhawm, CEF Python tau txais kev txhawb nqa los ntawm lub zog ib tug, lub zog thiab kev noj qab haus huv rau nws. Tsis muaj leej twg xav tau qhov no ntxiv lawm?..

Txawm li cas los xij, CEF Python tsis tau pab kuv thaum kawg: txawm hais tias txawm tias qhov piv txwv tseem ceeb ntawm kev koom ua ke nrog wxWidgets los ntawm qhov project repository yog frankly buggy, kuv sim tinker nrog nws ntau, tab sis tsis tuaj yeem daws txhua yam teeb meem uas tshwm sim. Kuv yuav tsis txawm mus tob rau hauv lub ncauj lus; nws tsis tsim nyog nws.

Kuv tau saib rau hauv cov khoom raws li Chromium Embedded Framework kom ntxaws ntxiv thiab thaum kawg txiav txim siab muab nws sim version rau C#. Txij li thaum kuv ua hauj lwm yuav luag txhua lub sij hawm nrog Windows, lub zeem muag ntawm kev muab hla-platform functionality, feem ntau, tsis tshwj xeeb thab kuv.

Tom qab qee qhov kev tsis pom zoo thaum pib, txhua yam tau nrawm dua: kev sib xyaw ntawm CefSharp thiab Windows Forms tau dhau los ua tus yeej, thiab kuv tuaj yeem daws cov teeb meem feem ntau yam tsis muaj teeb meem.

Hais txog qhov tsis paub

Koj tuaj yeem sim siv FireFox rau hauv C# daim ntawv thov siv cov khoom Geckofx, tab sis kuv tsis tuaj yeem hais dab tsi txog nws. Tus qauv browser tivthaiv ntawm Qt lub moj khaum hu ua QWebEngineView nrhiav tau ntawm Chromium, yog li nws yuav zaum ua haujlwm zoo li CefSharp.

Cov kiv cua ntawm Qt tej zaum yuav raug ntxias los tawm tswv yim: yog tias lawv tsuas tau noj Qt, lawv yuav tsis muaj teeb meem. Qhov no yuav muaj tseeb, tab sis wxWidgets tuaj yeem txiav txim siab, yog tias tsis yog thawj zaug, ces qhov kev xaiv thib ob thaum xaiv GUI lub hauv paus rau kev siv hauv Python lossis C ++. Thiab hauv kuv lub tswv yim txo hwj chim, xws li ib qho browser yuav tsum tau ua rau hauv ib qho ntxiv lossis tsawg dua tsim GUI lub ntsiab lus yam tsis muaj kev seev cev nrog tambourine.

WebLibrary

Txawm li cas los xij, cia peb rov qab mus rau kuv daim ntawv thov nrog lub npe ua haujlwm WebLibrary. Niaj hnub no nws zoo li (nruas yob) zoo li no:

"Kuv mam li nyeem nws tom qab": txoj hmoo nyuaj ntawm kev sau offline ntawm nplooj ntawv Internet

dua li huv si thiab concise interface Tsuas yog cov haujlwm yooj yim tshaj plaws yog siv ntawm no:

  • Muab cov ntawv teev npe teev tseg hauv qhov system ua lub tsev qiv ntawv cov ntaub ntawv.
  • Saib cov ntaub ntawv hauv qhov browser qhov rai. Nkag mus los ntawm cov npe nyob rau hauv txoj kev niaj zaus (tus cursor yuam sij, PgUp, PgDn, Tsev, Xaus), scroll los ntawm qhov browser siv qhov chaw thiab ua haujlwm + cov yuam sij.
  • Renaming cov ntaub ntawv.
  • Kos cov ntaub ntawv raws li nyeem lossis nyiam siv hotkeys.
  • Kev txheeb xyuas cov ntaub ntawv los ntawm txhua qhov chaw.
  • Refreshes lub qhov rais daim ntawv thov thaum muaj kev hloov pauv hauv cov ntawv tais ceev tseg.
  • Txuag qhov chaw qhov rais thaum tawm.

Tag nrho cov no yuav zoo li tsis tseem ceeb ua haujlwm, tab sis, hais tias, txuag kab ntau thiab tsawg hauv TagSpaces tseem tsis tau txais kev txhawb nqa - pom meej, cov kws sau ntawv muaj lwm yam tseem ceeb.

Cov xwm txheej (nyeem / nyiam) tsuas yog khaws cia hauv cov ntaub ntawv npe (nyeem cov ntaub ntawv doc.html hloov npe rau doc{R,S}.html). Tsis muaj synchronization li no, tab sis kuv tsuas yog khaws cov tsev qiv ntawv hauv Dropbox - tom qab tag nrho, nws tsuas yog ib daim nplaub tshev nrog cov ntaub ntawv.

Tseem muaj cov phiaj xwm los txhim kho tej yam yooj yim xws li txav thiab tshem tawm cov ntaub ntawv, nrog rau kev siv tagging nrog arbitrary cim npe. Yog leej twg xav pab, kuv tsuas zoo siab xwb.

tshawb pom

Ntau yam. Raws li kuv tau hais los ntawm qhov pib, nws yog qhov xav tsis thoob qhov txawv ntawm ib tus neeg lub cuab yeej tuaj yeem yog los ntawm lwm tus. Siv lub cuab yeej zoo li WebResearch los ntawm ib txwm rau kuv, thiab kuv xav tias yuav luag tsis xis nyob los ntawm nws qhov tsis tuaj. Nyob rau tib lub sijhawm, pom tau tias, kuv muaj ob peb tus neeg nyiam, txwv tsis pub yuav tsis muaj teeb meem nrog kev nrhiav cov analogues. Ntawm qhov tod tes, cov xwm txheej zoo sib xws tshwm sim nrog ntau cov software tseem ceeb: piv txwv li, Microsoft tsis yuav hloov kho lub desktop version ntawm OneNote, yog li kuv raug yuam kom siv 2016 version, thiab tsis ntev los no kuv kuj yuav tau txav los ntawm. nws qhov chaw.

Dab tsi tseem ceeb yog qhov nyuaj npaum li cas rau kev taug qab thaj chaw tam sim no ntawm cov tsev qiv ntawv thiab cov txheej txheem. Hauv kuv txoj haujlwm, kuv tsis tshua tau sau cov ntawv thov desktop txij thaum pib mus rau qhov kawg, thiab kuv xav tias txhua yam cuab yeej rau ib hom lus programming yuav haum rau kuv txoj haujlwm (ib lub qhov rais, peb yam, kev sib cuam tshuam tsis tseem ceeb). Yog li peb tsuas yog noj dab tsi thiab ua nws li ob peb hnub.

Nws tau muab tawm tias qhov tseeb yog qhov muaj txiaj ntsig tsawg dua, thiab koj tuaj yeem khiav mus rau qhov teeb meem ntawm xiav. Cia peb hais tias kuv muaj ob lub splitters uas tuaj yeem siv los ncab qhov browser qhov rai. Yog li, rov kho lawv txoj haujlwm tom qab thauj khoom rau hauv wxWidgets yog qhov nyuaj heev, txij li lub kaw lus tso lawv rau hauv lub neej ntawd txoj haujlwm tom qab yuav luag txhua yam xwm txheej muaj rau kuv, thiab kuv yuav tsum ua txhua yam kev nyiag nkas kom ua tiav qhov kuv xav tau. Leej twg yuav tau twv?

Ntawm qhov tod tes, nws yog qhov tseeb tias hauv Windows Forms txhua yam yog tsim los rau "kev lag luam interfaces". Yuav luag txhua yam uas yuav tsum tau muaj yog muaj nyob rau hauv lub thawv: txuag / restore daim ntawv thov chaw, ib tug yooj yim interface ntawm lub Cheebtsam (piv txwv li, kuv tsis tau xav tias lub TreeView tivthaiv tuaj yeem thov rau tag nrho txoj hauv kev los ntawm lub hauv paus mus rau txhua tus menyuam lub caij. nyob rau hauv daim ntawv ntawm ib txoj hlua), thiab cov cuab yeej tsis tseem ceeb xws li cov ntawv tais ceev tseg cov ntsiab lus hloov tracker.

Txawm li cas los xij, lub sijhawm tsis tau nkim, thiab qhov tshwm sim tuaj yeem suav tias yog qhov txaus siab, yog li koj xav tau dab tsi ntxiv ntawm lub neej, txoj cai?

Tau qhov twg los: www.hab.com

Ntxiv ib saib