WKWebView-ի քիչ հայտնի, բայց գերհզոր հատկանիշը

Հաճախակի թարմացվող բովանդակություն, օրինակ՝ ՀՏՀ-ն ցուցադրելու համար վեբ տեսք օգտագործելը շատ տարածված մարտավարություն է, որն օգտագործվում է iOS ծրագրավորողների մեծ մասի կողմից: Դրանով մշակողները կարող են հեշտությամբ թարմացնել վեբ դիտման բովանդակությունը՝ առանց App Store-ի վերանայման գործընթացի անցնելու: Մյուս կողմից, օգտատերերը կկարողանան դիտել առցանց բովանդակությունը՝ առանց հավելվածից դուրս գալու:

Որոշ շատ տարածված խնդիրներ, որոնք մենք կարող ենք ակնկալել նման մարտավարություններ օգտագործելիս, հետևյալն են՝ վեբ դիտման բովանդակության ոճավորումը չի համընկնում հավելվածի դիզայնի հետ, կամ բովանդակությունը ճիշտ չի չափվում շարժական սարքում:

Այս հոդվածում եկեք անդրադառնանք այս երկու խնդիրներին՝ օգտագործելով «JavaScript Injection» կոչվող տեխնիկան։ Ահա այն, ինչ դուք կսովորեք այս հոդվածում.

Հետաքրքի՞ր նայեք: Եկեք մտնենք դրա մեջ:

CSS-ի և JavaScript-ի պատրաստում ներարկման համար

Այս հոդվածի համար մենք կձևավորենք այս HTML-ը, որը ես պատրաստել եմ ավելի վաղ: HTML-ը ոճավորելու համար մենք նախ պետք է ստեղծենք CSS, որը սահմանում է մեր ուզած ոճը:

Ենթադրելով, որ դուք ունեք որոշ հիմնական CSS գիտելիքներ, վերը նշված կոդը բավականին ինքնաբացատրելի է: Այնուամենայնիվ, ես ուզում եմ ձեր ուշադրությունը հրավիրել font-family հատկության վրա: Ուշադրություն դարձրեք, թե ինչպես եմ այն ​​սահմանել որպես -apple-system, որպեսզի վեբ տեսքը կարտադրի HTML-ը՝ օգտագործելով iOS համակարգի տառատեսակը:

Pro հուշում.

Եթե ​​ձեր ոճավորումը պահանջում է երկար և բարդ CSS, խորհուրդ է տրվում կարդալ CSS-ը CSS ֆայլից:

Հիմա եկեք գրենք մի քանի JavaScript, որը բեռնում է մեր գրած CSS-ը:

Նկատի ունեցեք, որ CSS-ը JavaScript-ի հետ համատեղելուց առաջ կարևոր է դարձնել մեկ ներդիր, այլապես ներարկումը չի աշխատի:

JavaScript-ի ներարկում

Ահա թե որտեղ է տեղի ունենում կախարդանքը: Մենք կօգտագործենք WKUserScript դասը՝ JavaScript-ը մեր վեբ տեսքում ներարկելու համար:

Ինչպես տեսնում եք, մենք գործարկում ենք WKUserScript օրինակը՝ օգտագործելով մեր նոր ստեղծած JavaScript-ը և խնդրում ենք ներարկել JavaScript-ը HTML փաստաթղթի բեռնումն ավարտելուց հետո (օգտագործելով .atDocumentEnd): Սա շատ կարևոր է, քանի որ JavaScript-ը չի աշխատի, եթե ներարկումը տեղի ունենա մինչ այդ:

Օգտվողի սկրիպտը տեղում, մենք կարող ենք շարունակել բեռնել օգտվողի սկրիպտը վեբ տեսքում այսպես.

HTML բովանդակության մասշտաբավորում

Այժմ, եթե մենք առաջ գնանք և բեռնենք HTML-ը, որը ես պատրաստել եմ ավելի վաղ,

մենք կտեսնենք այսպիսի բան.

Պատճառն այն է, որ մեր HTML-ում բացակայում է <meta> թեգը: Հետևաբար, վեբ տեսքը գաղափար չունի, թե ինչպես ճիշտ չափել HTML-ը: Սրա լուծումը բավականին պարզ է, այն ամենը, ինչ մենք պետք է անենք, հետևյալ <meta> viewport տարրն է HTML-ում տեղադրել:

<meta name=\"viewport\" content=\"user-scalable=no, width=device-width\">

Հաշվի առնելով դա, մենք այժմ կարող ենք թարմացնել մեր օրինակելի կոդը այսպես.

վերջ Եթե ​​փորձեք գործարկել օրինակելի կոդը, դուք պետք է կարողանաք տեսնել HTML-ի գեղեցիկ մատուցումը վեբ դիտում:

Ազատորեն ստացեք ամբողջական օրինակելի կոդը այստեղ և փորձեք այն:

Փաթաթում

HTML-ի ոճավորումը JavaScript-ի ներարկման օգտագործման դեպքերից միայն մեկն է: Ինչ այլ օգտագործման դեպքեր կարող եք մտածել: Ազատորեն կիսվեք ինձ հետ ձեր մտքերով Twitter-ում, ես իսկապես կցանկանայի լսել ձեզանից:

Շնորհակալություն կարդալու համար: