HeadlessChrome101: ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਕਿਵੇਂ Chrome ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬਹੁ-ਫੰਕਸ਼ਨ ਬ੍ਰਾਊਜ਼ਰ–ਸਰਵਰ-ਬ੍ਰਾਊਜ਼ਰ ਲੇਅਰ ਵਿੱਚ ਬਦਲਦਾ ਹੈ
ਇਹ ਸਧਾਰਨ-ਭਾਸ਼ਾ ਵਿੱਚ ਵਿਆਖਿਆ ਹੈ ਕਿ ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਹੈਡਲੈੱਸ Chrome ਨਾਲ ਕੀ ਕਰਦਾ ਹੈ, ਇਹ ਮਲਕੀਅਤ ਜਿੱਟ-ਟੀਆਰ ਰਨਟਾਈਮ ਨੂੰ ਕਿਵੇਂ ਵਰਤਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਹੋਰ ਸਕ੍ਰਿਪਟ ਦੀ ਬਜਾਏ ਪਹਿਲੀ-ਕਲਾਸ ਬ੍ਰਾਊਜ਼ਰ ਫੀਚਰ ਬਣਾਉਣ ਲਈ ਕੀ ਕੁਝ ਲੋੜੀਂਦਾ ਹੈ।
ਇੱਕ ਸਧਾਰਨ ਸਕ੍ਰੀਨਸ਼ਾਟ ਟੂਲ ਤੋਂ ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਤੱਕ
ਅਸੀਂ ਇੱਕ ਛੋਟੇ ਕਮਾਂਡ-ਲਾਈਨ ਟੂਲ ਨਾਲ ਸ਼ੁਰੂ ਕੀਤਾ: getpage https://example.com page.png. ਇਹ ਨੇ Chrome ਨੂੰ Docker ਕੰਟੇਨਰ ਵਿੱਚ ਚਲਾਇਆ, ਪੇਜ ਤੋਂ ਰੈਂਡਰ ਕੀਤੇ example.com ਦਾ ਸਕ੍ਰੀਨਸ਼ਾਟ ਲਿਆ, ਅਤੇ ਬਾਹਰ ਆ ਗਿਆ।
ਉਪਯੋਗੀ ਸਬੂਤ ਦਾ ਸੰਕਲਪ। ਹਰ ਕਾਲ ਇੱਕ ਠੰਡੀ ਸ਼ੁਰੂਆਤ ਸੀ। ਇਸਨੂੰ ਅਨੁਵਾਦ, ਸੈਸ਼ਨ, ਜਾਂ ਸਥਿਤੀ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਪਤਾ ਸੀ। ਇਹ ਸਿਰਫ਼ ਇੱਕ ਹੈਡਲੈੱਸ ਕੈਮਰਾ ਸੀ।
ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਅਗਲਾ ਕਦਮ ਹੈ। ਇਹ ਅਜੇ ਵੀ ਅਸਲੀ Chrome ਵਰਤਦਾ ਹੈ, ਪਰ ਹੁਣ:
- ਇਹ ਪੇਜ ਦੇ ਅੰਦਰ ਕੀ ਹੁੰਦਾ ਹੈ, ਇਸਦਾ ਲਾਗ ਰੱਖਦਾ ਹੈ।
- ਇਹ ਜਿੱਟ-ਟੀਆਰ ਸਕ੍ਰਿਪਟ ਨੂੰ ਅਨੁਵਾਦ ਲੇਅਰ ਵਜੋਂ ਇੰਜੈਕਟ ਕਰਦਾ ਹੈ।
- ਇਹ ਕੁਕੀ ਬੈਨਰ ਜਾਂ ਡ੍ਰੌਪਡਾਊਨ ਵਰਗੇ ਸਧਾਰਨ ਫਲੋਅਜ਼ ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦਾ ਹੈ।
- ਇਹ ਪੂਰੀ ਤਰ੍ਹਾਂ ਅਨੁਵਾਦਿਤ HTML ਕੈਪਚਰ ਕਰਦਾ ਹੈ, ਸਿਰਫ਼ ਸਕ੍ਰੀਨਸ਼ਾਟ ਨਹੀਂ।
ਇਹ ਪੇਜ ਉਸ ਪਾਈਪਲਾਈਨ ਨੂੰ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਦੇਖ ਸਕੋ ਕਿ ਅਸੀਂ ਹੱਥ-ਹਿਲਾਉਣ ਨਹੀਂ ਕਰ ਰਹੇ। ਅਸੀਂ ਦਿਖਾ ਰਹੇ ਹਾਂ ਕਿ ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ-ਸਤਰ ਬਹੁਭਾਸ਼ੀ ਲੇਅਰ ਅਸਲ ਵਿੱਚ ਕਿਵੇਂ ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ।
ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਪਾਈਪਲਾਈਨ 6 ਕਦਮਾਂ ਵਿੱਚ
ਉੱਚ ਪੱਧਰ 'ਤੇ, ਹਰ ਕੈਪਚਰ ਇੱਕੋ ਜਿਹੇ ਕ੍ਰਮ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ।
-
Docker ਦੇ ਅੰਦਰ ਅਸਲੀ Chrome (ਹੈਡਲੈੱਸ) ਲਾਂਚ ਕਰੋ।
ਅਸੀਂ Puppeteer (pptr.dev) ਵਰਤਦੇ ਹਾਂ ਉਹੀ ਇੰਜਣ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਜੋ ਆਮ ਬ੍ਰਾਊਜ਼ਰਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, ਪਰ ਬਿਨਾਂ ਦਿਖਾਈ ਦੇਣ ਵਾਲੀ ਵਿੰਡੋ ਦੇ। ਕੋਈ ਕਸਟਮ ਪਾਰਸਰ ਨਹੀਂ, ਕੋਈ ਨਕਲੀ ਰੈਂਡਰਿੰਗ ਨਹੀਂ। -
ਕੁਕੀਜ਼ ਜਾਂ ਲੌਗਇਨ ਸਥਿਤੀ ਲਾਗੂ ਕਰੋ (ਜੇ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੋਵੇ)।
ਡੈਮੋਜ਼ ਲਈ ਜੋ ਲੌਗਇਨ ਸੈਸ਼ਨ ਦੀ ਲੋੜ ਹੈ, ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਕੁਕੀਜ਼ ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਉਂਦੇ ਹਾਂ। ਕੋਈ ਬਰੂਟ ਫੋਰਸ ਨਹੀਂ, ਕੋਈ ਪਾਸਵਰਡ ਅਨੁਮਾਨ ਨਹੀਂ, ਕੋਈ ਖਾਤੇ ਨਹੀਂ ਜੋ ਅਸੀਂ ਨਿਯੰਤਰਿਤ ਨਹੀਂ ਕਰਦੇ। -
ਲਕਸ਼ ਪੇਜ ਨੂੰ ਬਿਲਕੁਲ ਇੱਕ ਉਪਭੋਗਤਾ ਵਾਂਗ ਲੋਡ ਕਰੋ।
HTML, CSS, ਜਾਵਾਸਕ੍ਰਿਪਟ, ਫੌਂਟਸ, ਚਿੱਤਰ। ਅਸੀਂ ਇੰਤਜ਼ਾਰ ਕਰਦੇ ਹਾਂnetworkidle2(https://pptr.dev/api/puppeteer.page.waitfornetworkidle) ਤਾਂ ਜੋ ਹੌਲੀ ਬੰਡਲ ਅਤੇ ਫੌਂਟਸ ਲੋਡ ਹੋ ਸਕਣ। -
ਜਿੱਟ-ਟੀਆਰ ਸਨਿੱਪਟ ਨੂੰ ਇੱਕ ਲੇਅਰ ਵਜੋਂ ਇੰਜੈਕਟ ਕਰੋ।
ਅਸੀਂ ਆਪਣੇ ਪੇਟੈਂਟ-ਲੰਬਿਤ ਰਨਟਾਈਮ ਕੋਡ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨ ਵਾਲਾ ਸਕ੍ਰਿਪਟ ਟੈਗ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ – ਉਦਾਹਰਣ ਲਈ:. ਜਿੱਟ-ਟੀਆਰ ਰਨਟਾਈਮ ਮੌਡਿਊਲ ਉਘਾਏ DOM (document.head ਅਤੇ document.body) 'ਤੇ ਚਲਦਾ ਹੈ, ਨਿਕਾਲੇ ਗਏ ਪੇਲੋਡ ਨੂੰ ਸਾਡੇ (ਜਾਂ ਕਿਸੇ ਵੀ) ਸਰਵਰ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਭੇਜਦਾ ਹੈ, ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ (ਅਨੁਵਾਦ, ਵਧਾਈ, ਜਾਂ ਨਵੀਂ ਜਾਣਕਾਰੀ), ਦਿਖਾਈ ਦੇਣ ਵਾਲੇ ਪਾਠ ਨੂੰ ਦੁਬਾਰਾ ਲਿਖਦਾ ਹੈ, ਅਤੇ ਮੂਲ ਦੇ ਉੱਪਰ ਨਵੇਂ ਅਰਥਾਂ ਦੀਆਂ ਲੇਅਰਾਂ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ। ਇਕੱਲੇ ਪਾਬੰਦੀਆਂ ਜੋ ਮੌਜੂਦ ਹਨ, ਸਧਾਰਨ ਹਨ: ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਵਧਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਨਵੇਂ ਨਿਰਦੇਸ਼ ਕਦੇ ਵੀ ਸਾਈਟ ਦੇ ਆਪਣੇ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਦਖਲ ਨਹੀਂ ਦੇ ਸਕਦੇ। ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਇਸ ਤਰੀਕੇ ਨਾਲ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈMutationObserverਮੌਜੂਦਾ ਐਪਲੀਕੇਸ਼ਨ ਲੌਜਿਕ ਜਾਂ ਇਵੈਂਟ ਹੈਂਡਲਰਾਂ ਨੂੰ ਛੇੜੇ ਬਿਨਾਂ DOM ਵਿੱਚ ਸਬੰਧਤ ਬਦਲਾਅ ਦੇਖਣ ਲਈ, ਛੋਟੇ, ਨਿਸ਼ਾਨਾ ਬਣਾਏ ਪੈਚਾਂ ਵਿੱਚ ਅਪਡੇਟ ਲਾਗੂ ਕਰਨ ਲਈ। -
ਵਿਕਲਪਿਕ ਫਲੋਅਜ਼ ਚਲਾਓ: ਕੁਕੀਜ਼, ਕਲਿਕਸ, ਅਤੇ ਸਕ੍ਰੋਲ।
ਅਸਲ ਪੇਜਾਂ ਨੂੰ ਅਕਸਰ ਇੱਕ ਜਾਂ ਦੋ ਕਾਰਵਾਈਆਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ: ਇੱਕ ਕੁਕੀ ਬੈਨਰ ਬੰਦ ਕਰਨਾ, ਇੱਕ ਮੀਨੂ ਖੋਲ੍ਹਣਾ, ਹੋਰ ਪੇਸ਼ਕਸ਼ਾਂ ਲੋਡ ਕਰਨ ਲਈ ਸਕ੍ਰੋਲ ਕਰਨਾ। ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਇੱਕ ਸਧਾਰਨ ਫਲੋ ਸਕ੍ਰਿਪਟ ਚਲਾ ਸਕਦਾ ਹੈ ਤਾਂ ਜੋ ਉਹ ਤੱਤ ਕੈਪਚਰ ਤੋਂ ਪਹਿਲਾਂ ਦਿਖਾਈ ਦੇਣ। -
ਵਧਾਏ ਗਏ ਨਤੀਜੇ ਨੂੰ ਕੈਪਚਰ ਕਰੋ।
ਅਸੀਂ ਸੁਰੱਖਿਅਤ ਕਰਦੇ ਹਾਂ:- ਹੋਸਟਿੰਗ ਜਾਂ ਆਡਿਟ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸੋਧਿਆ ਗਿਆ HTML।
- ਸੰਭਾਵੀ ਬੋਤਲਨੈਕਸ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਇੱਕ ਟਾਈਮਿੰਗ ਟ੍ਰੇਸ।
ਇਹ ਸਾਡੇ HeadlessChrome101 ਦਾ ਕੇਂਦਰ ਹੈ। ਇਹ ਉਹ ਮਾਨਸਿਕ ਮਾਡਲ ਹੈ ਕਿ ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ ਕਿਸ ਤਰੀਕੇ ਨਾਲ ਨਵੇਂ ਜਾਂ ਮੌਜੂਦਾ ਡਾਟਾ ਨੂੰ ਕਿਸੇ ਵੀ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਅੰਦਰ ਇੱਕ ਬਿਲਟ-ਇਨ ਲੇਅਰ ਵਜੋਂ ਇਲਾਜ ਕਰ ਸਕਦਾ ਹੈ।
ਇਹ ਸਿਰਫ਼ ਇੱਕ ਖਿਡੌਣਾ ਸਕ੍ਰਿਪਟ ਨਹੀਂ ਹੈ
ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ-ਸਤਰ ਲੇਅਰ ਉਹੀ ਹਿੱਸੇ ਵਰਤ ਕੇ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਜੋ ਬ੍ਰਾਊਜ਼ਰ ਵੇਂਡਰ ਹਰ ਰੋਜ਼ ਵਰਤਦੇ ਹਨ, ਅਤੇ ਇਹ ਲੇਅਰ ਸੁਰੱਖਿਅਤ ਤੌਰ 'ਤੇ ਕਿਸੇ ਵੀ ਬਾਹਰੀ ਸੇਵਾ ਨਾਲ ਪੂਰੀ ਕਲਾਇੰਟ-ਸਰਵਰ ਅੰਤਰਕਿਰਿਆ ਦੀ ਮਿਜ਼ਬਾਨੀ ਕਰ ਸਕਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸਾਡਾ ਆਪਣਾ ਜਿੱਟ-ਟੀਆਰ ਰਨਟਾਈਮ ਸ਼ਾਮਲ ਹੈ। ਇਹ ਉਹ ਬਿੰਦੂ ਵੀ ਹੈ ਜਿੱਥੇ ਅਸੀਂ SEO-ਜਾਗਰੂਕ ਵਧਾਈਆਂ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ ਜਿਵੇਂ ਕਿ rel="alternate" hreflang="..." ਲਿੰਕ ਅਤੇ ਵਧਾਏ ਗਏ sitemap.xml ਦਾਖਲੇ। ਅਸਲ ਵਿੱਚ, ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਅਸੀਂ ਵਧਾਏ ਗਏ ਜਾਣਕਾਰੀ ਨੂੰ ਗੈਰ-ਵਿਘਟਨਕਾਰੀ HTML ਖੇਤਰਾਂ ਵਿੱਚ ਉਘਾ ਸਕਦੇ ਹਾਂ ਜਿਵੇਂ ਕਿ ਮੌਜੂਦਾ ਪੇਜ ਦੇ ਖੱਬੇ ਜਾਂ ਸੱਜੇ ਪਾਸੇ ਤੱਤ, ਜਾਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਮੋਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜੋ ਭਾਸ਼ਾ ਚੋਣਾਂ ਅਤੇ ਸਮਾਰਟਸਰਚ ਨੂੰ ਮੂਲ ਲੇਆਊਟ ਜਾਂ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਦਖਲ ਦੇਣ ਤੋਂ ਬਿਨਾਂ ਜੋੜਦੇ ਹਨ।
-
ਅਸਲ Chrome ਇੰਜਣ।
ਸਭ ਕੁਝ Chrome 'ਤੇ ਹੀ ਚਲਦਾ ਹੈ - ਸਿਰਫ਼ ਦਿਖਾਈ ਦੇਣ ਵਾਲੀ ਵਿੰਡੋ ਤੋਂ ਬਿਨਾਂ। ਜੇ ਇਹ Chrome ਵਿੱਚ ਤੁਹਾਡੇ ਵਿਜ਼ਟਰਾਂ ਲਈ ਕੰਮ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਹ ਜਿੱਟ-ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ। -
ਸਮੱਗਰੀ ਸੁਰੱਖਿਆ ਨੀਤੀ ਜਾਗਰੂਕ।
ਜ਼ਿਆਦਾਤਰ ਸਾਈਟਾਂ CSP ਨਾਲ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਲੌਕ ਕਰਦੀਆਂ ਹਨ। ਹੈਡਲੈੱਸ ਮੋਡ ਵਿੱਚ ਅਸੀਂ Chrome ਦੇsetBypassCSP(true)(https://pptr.dev/api/puppeteer.page.setbypasscsp) ਕੈਪਚਰ ਵਾਤਾਵਰਣ ਦੇ ਅੰਦਰ Jit-TR ਨੂੰ ਇੰਜੈਕਟ ਕਰਨ ਲਈ। ਅਸੀਂ ਕਿਸੇ ਵੀ ਉਤਪਾਦਨ ਸਾਈਟਾਂ ਨੂੰ ਆਪਣੀਆਂ ਸੁਰੱਖਿਆ ਨੀਤੀਆਂ ਨੂੰ ਕਮਜ਼ੋਰ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। -
ਪੂਰੀ ਟਾਈਮਿੰਗ ਅਤੇ ਲੌਗਿੰਗ।
ਅਸੀਂ ਲਾਂਚ ਸਮੇਂ, ਪੇਜ ਲੋਡ ਸਮੇਂ, Jit-TR ਸਟਾਰਟਅਪ, ਫਲੋ ਸਟੈਪਸ, ਅਤੇ ਕੈਪਚਰ ਨੂੰ ਲੌਗ ਕਰਦੇ ਹਾਂ। ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਮਿਲੀਸੈਕੰਡ ਕਿੱਥੇ ਜਾਂਦੇ ਹਨ ਅਤੇ Jit-TR ਅਸਲ ਵਿੱਚ ਪੇਜ 'ਤੇ ਕੀ ਕਰਦਾ ਹੈ। -
ਸਕ੍ਰਿਪਟ ਅਤੇ ਲੇਅਰ ਦੀ ਵੱਖਰੀਕਰਨ।
ਅੱਜ, Jit-TR "ਸਿਰਫ ਇੱਕ ਸਕ੍ਰਿਪਟ" ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਤੁਸੀਂ ਸਾਈਟ 'ਤੇ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ। Jit-Browser ਵਿੱਚ ਅਸੀਂ ਇਸਨੂੰ ਇੱਕ ਸਥਿਰ ਲੇਅਰ ਵਾਂਗ ਮੰਨਦੇ ਹਾਂ ਜੋ ਹਮੇਸ਼ਾਂ ਚਲਦਾ ਹੈ। ਇਹ ਬਹੁਤ ਨੇੜੇ ਹੈ ਕਿ ਕਿਵੇਂ ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ ਵਿਕਰੇਤਾ ਇਸਨੂੰ ਮੂਲ ਰੂਪ ਵਿੱਚ ਪਲੱਗ ਕਰ ਸਕਦਾ ਹੈ।
Jit-TR API ਪਹਿਲਾਂ ਹੀ ਕੀ ਹੱਲ ਕਰਦਾ ਹੈ
ਮੁਸ਼ਕਲ ਹਿੱਸਾ ਹੈਡਲੈੱਸ Chrome ਨਹੀਂ ਹੈ। ਮੁਸ਼ਕਲ ਹਿੱਸਾ ਹੈ ਲਾਈਵ, ਗੰਦੇ ਵੈੱਬ ਪੇਜਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਬਹੁਭਾਸ਼ਾਈ ਵਰਜਨਾਂ ਵਿੱਚ ਭਰੋਸੇਯੋਗ ਤਰੀਕੇ ਨਾਲ ਬਦਲਣਾ। ਸਾਡਾ ਮਲਕੀਅਤ ਰਨਟਾਈਮ api.jit-tr.com ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਉਹ ਕੰਮ ਕਰਦਾ ਹੈ।
ਅੱਜ, API ਰਨਟਾਈਮ ਹੈਂਡਲ ਕਰਦਾ ਹੈ:
-
ਭਾਸ਼ਾ ਚੋਣ।
ਇਹ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ ਜਿਵੇਂ ਕਿjittr=ES-419, ਐਜ ਕੇਸਾਂ ਨੂੰ ਨਾਰਮਲਾਈਜ਼ ਕਰਦਾ ਹੈ, ਅਤੇ ਚੁਣੀ ਗਈ ਭਾਸ਼ਾ ਨੂੰ ਲੌਗ ਕਰਦਾ ਹੈ, ਉਦਾਹਰਣ ਲਈ:[Jit-TR] ਚੁਣੀ ਗਈ ਭਾਸ਼ਾ → ES-419. -
DOM ਐਕਸਟ੍ਰੈਕਸ਼ਨ, ਅਨੁਵਾਦ, ਅਤੇ ਸੈਮੈਂਟਿਕ ਰੀਰਾਈਟਸ।
ਰਨਟਾਈਮ ਅਸਲ Chrome DOM ਨੂੰ ਵਾਕ ਕਰਦਾ ਹੈ, ਸਿਰਫ ਦਿਖਾਈ ਦੇਣ ਵਾਲੇ ਟੈਕਸਟ ਨੂੰ ਕੱਢਦਾ ਹੈ, ਇੱਕ ਸਟ੍ਰਕਚਰਡ ਅਨੁਵਾਦ ਪੇਲੋਡ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਨਤੀਜੇ ਨੂੰ ਪੇਜ ਵਿੱਚ ਵਾਪਸ ਲਿਖਦਾ ਹੈ। ਸਾਰੇ ਮੁਸ਼ਕਲ ਐਜ-ਕੇਸ ਆਟੋਮੈਟਿਕ ਹਨ: ਇਮੋਜੀ ਸੀਕਵੈਂਸ, HTML ਐਂਟਿਟੀਜ਼, ਪੰਕਚੁਏਸ਼ਨ ਅਤੇ ਸਪੇਸਿੰਗ ਨਿਯਮ, ਮਿਕਸਡ-ਲੈਂਗਵੇਜ ਸਟ੍ਰਿੰਗਸ, ਅਤੇ ਖੱਬੇ ਤੋਂ ਸੱਜੇ / ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਸਵਿੱਚਿੰਗ। ਇਹ ਭਾਸ਼ਾ-ਵਿਸ਼ੇਸ਼ ਸਕ੍ਰਿਪਟ ਬਲਾਕਾਂ ਨੂੰ ਵੀ ਰੀਰਾਈਟ ਕਰਦਾ ਹੈ — ਸ਼ਾਮਲ ਹੈਅਤੇ ਹੋਰ ਸਟ੍ਰਕਚਰਡ-ਡਾਟਾ ਟੈਗ — ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਹਰ ਭਾਸ਼ਾ ਲਈ ਖੋਜ ਇੰਜਣਾਂ ਅਤੇ AI ਸਿਸਟਮਾਂ ਲਈ ਸਹੀ, ਸੁਤੰਤਰ, ਕੈਸ਼ ਕੀਤੀ ਗਈ ਮੈਟਾਡੇਟਾ ਹੈ। -
ਕਲਾਇੰਟ ਵਿਹਾਰ।
ਇਹ ਭਾਸ਼ਾ ਦੇ ਝੰਡੇ ਰੈਂਡਰ ਕਰਦਾ ਹੈ, ਅਸੁਰੱਖਿਅਤ ਰੂਟਾਂ ਦਾ ਸਤਿਕਾਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਸਿੰਗਲ-ਪੇਜ ਐਪਸ ਅਤੇ ਫਰੇਮਵਰਕਸ ਨਾਲ ਸੰਭਵ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਖੇਡਦਾ ਹੈ।
ਇਹ ਸਾਰਾ ਕੁਝ ਅੱਜ Jit-TR ਸਾਈਟਾਂ 'ਤੇ ਚੱਲਦਾ ਹੈ। Jit-Browser ਸਿਰਫ ਇਸਨੂੰ ਇੱਕ ਨਿਯੰਤਰਿਤ ਹੈਡਲੈੱਸ ਵਾਤਾਵਰਣ ਵਿੱਚ ਦੁਬਾਰਾ ਵਰਤਦਾ ਹੈ।
ਮੂਲ ਬ੍ਰਾਊਜ਼ਰ ਫੀਚਰ ਲਈ ਕੀਹ ਲੋੜ ਹੈ
ਮੂਲ ਬ੍ਰਾਊਜ਼ਰ ਫੀਚਰ ਲਈ ਕੀਹ ਲੋੜ ਹੈ
Jit-Browser ਨੂੰ ਇੱਕ ਬਿਲਟ-ਇਨ ਬ੍ਰਾਊਜ਼ਰ ਫੀਚਰ ਵਿੱਚ ਬਦਲਣ ਲਈ, ਕਿਸੇ ਨੂੰ ਵੀ ਚਮਤਕਾਰ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ - ਸਿਰਫ ਇੱਕ ਛੋਟੇ, ਚੰਗੀ ਤਰ੍ਹਾਂ ਪਰਿਭਾਸ਼ਿਤ ਬਦਲਾਅ ਦੇ ਸੈੱਟ ਨੂੰ ਰੱਖਣ ਦੀ ਯੋਗਤਾ ਜੋ ਬ੍ਰਾਊਜ਼ਰ ਇੰਜਣ ਪਹਿਲਾਂ ਹੀ ਸਮਝਦੇ ਹਨ।
Jit=-Browser ਨੂੰ ਇੱਕ ਬਿਲਟ-ਇਨ ਬ੍ਰਾਊਜ਼ਰ ਫੀਚਰ ਵਿੱਚ ਬਦਲਣ ਲਈ। ਇਹ ਕੋਈ ਚਮਤਕਾਰ ਨਹੀਂ ਹੈ, ਸਿਰਫ ਬ੍ਰਾਊਜ਼ਰਾਂ ਦੁਆਰਾ ਪਹਿਲਾਂ ਹੀ ਸਮਝੇ ਗਏ ਬਦਲਾਅ ਦਾ ਇੱਕ ਛੋਟਾ ਸੈੱਟ ਹੈ।
-
ਇੰਜਣ ਵਿੱਚ ਇੱਕ ਮੂਲ ਹੂਕ।
ਅੱਜ ਅਸੀਂ ਇਸਨੂੰ ਹੈਡਲੈੱਸ Chrome ਤੋਂ ਇੱਕ ਸਕ੍ਰਿਪਟ ਇੰਜੈਕਟ ਕਰਕੇ ਨਕਲ ਕਰਦੇ ਹਾਂ। ਇੱਕ ਅਸਲ ਇੰਟੀਗ੍ਰੇਸ਼ਨ Jit-TR ਨੂੰ ਇੱਕ ਸਮਰਪਿਤ ਅਨੁਵਾਦ ਸਲਾਟ ਦੇਵੇਗਾ ਤਾਂ ਜੋ ਇਹ ਰੈਂਡਰਿੰਗ ਪਾਈਪਲਾਈਨ ਵਿੱਚ ਸਹੀ ਬਿੰਦੂ 'ਤੇ DOM ਟੈਕਸਟ ਨੂੰ ਪੜ੍ਹ ਅਤੇ ਲਿਖ ਸਕੇ। -
ਭਾਸ਼ਾ ਇਰਾਦੇ ਨੂੰ ਪ੍ਰਗਟ ਕਰਨ ਦਾ ਇੱਕ ਮਿਆਰੀ ਤਰੀਕਾ।
ਅਸੀਂ ਪਹਿਲਾਂ ਹੀ ਵਰਤਦੇ ਹਾਂ?jittr=LANGਅਤੇ ਕੁਕੀਜ਼। ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ-ਸਤਰ ਦਾ ਹੱਲ ਬ੍ਰਾਊਜ਼ਰ ਭਾਸ਼ਾ ਸੈਟਿੰਗਾਂ ਅਤੇ ਉਪਭੋਗਤਾ ਦੀਆਂ ਚੋਣਾਂ ਦਾ ਸਤਿਕਾਰ ਕਰ ਸਕਦਾ ਹੈ ਜਿਵੇਂ ਕਿ "ਹਮੇਸ਼ਾਂ ਇਸ ਸਾਈਟ ਨੂੰ ES-419 ਵਿੱਚ ਅਨੁਵਾਦ ਕਰੋ"। -
ਇੱਕ ਸਪਸ਼ਟ ਸੁਰੱਖਿਆ ਅਤੇ ਗੋਪਨੀਯਤਾ ਫਰੇਮਵਰਕ।
ਕਿਹੜਾ ਟੈਕਸਟ ਡਿਵਾਈਸ ਨੂੰ ਛੱਡ ਸਕਦਾ ਹੈ, ਇਹ ਕਿੰਨਾ ਲੰਮਾ ਕੈਸ਼ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਸਾਈਟਾਂ ਜਾਂ ਉਪਭੋਗਤਾ ਕਿਵੇਂ ਬਾਹਰ ਨਿਕਲ ਸਕਦੇ ਹਨ, ਇਸ ਲਈ ਨਿਯਮ ਸਪਸ਼ਟ ਅਤੇ ਦਸਤਾਵੇਜ਼ੀ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ। ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਅੰਦਰ ਇੱਕ ਮੂਲ ਨਿਰਵਾਹੀ ਅਸਲ ਵਿੱਚ ਐਡ-ਹੌਕ ਸਕ੍ਰਿਪਟਾਂ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਸੁਰੱਖਿਅਤ ਹੋ ਸਕਦੀ ਹੈ।
ਉਦਾਹਰਣ: HarmonyOS ਵਿੱਚ ES-419
ਇੱਥੇ ਕਾਰਵਾਈ ਵਿੱਚ ਪਾਈਪਲਾਈਨ ਦੀ ਇੱਕ ਠੋਸ ਉਦਾਹਰਣ ਹੈ।
ਅਸੀਂ ਕਹਿੰਦੇ ਹਾਂ:
getpageJtrBrowser \
"https://www.harmonyos.com/" \
"jittr=ES-419" \
null \
"ES-419/index.php"
Jit-Browser:
- Docker ਦੇ ਅੰਦਰ ਹੈਡਲੈੱਸ Chrome ਲਾਂਚ ਕਰਦਾ ਹੈ।
- ਲੋਡ ਕਰਦਾ ਹੈ
https://www.harmonyos.com/. - ES-419 ਪੈਰਾਮੀਟਰ ਨਾਲ Jit-TR ਸਨਿੱਪਿਟ ਇੰਜੈਕਟ ਕਰਦਾ ਹੈ।
- Jit-TR ਨੂੰ ਦਿਖਾਈ ਦੇਣ ਵਾਲੇ ਚੀਨੀ ਟੈਕਸਟ ਨੂੰ ਸਪੈਨਿਸ਼ (ਲਾਤੀਨੀ ਅਮਰੀਕਾ) ਵਿੱਚ ਅਨੁਵਾਦ ਕਰਨ ਦਿੰਦਾ ਹੈ।
- ਨਤੀਜੇ ਨੂੰ ਸੇਵ ਕਰਦਾ ਹੈ
ES-419/index.php.
HarmonyOS ਸਾਈਟ ਨੂੰ ਬਦਲਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਉਪਭੋਗਤਾ ਦੇ ਨਜ਼ਰੀਏ ਤੋਂ, ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਲੱਗਦਾ ਹੈ ਕਿ ਸਾਈਟ ਸਿਰਫ ਉਨ੍ਹਾਂ ਦੀ ਭਾਸ਼ਾ ਦਾ ਸਮਰਥਨ ਕਰਦੀ ਹੈ।
ਇਹ ਪੇਜ ਕਿਉਂ ਮੌਜੂਦ ਹੈ
HeadlessChrome101 ਇੱਕ ਸਾਰ ਹੈ ਜੋ ਦਿਖਾਉਂਦਾ ਹੈ:
- ਅਸੀਂ ਅਸਲ ਬ੍ਰਾਊਜ਼ਰ ਇੰਜਣਾਂ ਅਤੇ ਅਸਲ CSP ਨਿਯਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ।
- ਸਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਕੰਮ ਕਰਨ ਵਾਲਾ, ਮਲਕੀਅਤ ਅਨੁਵਾਦ ਰਨਟਾਈਮ ਹੈ।
- ਮੂਲ ਬ੍ਰਾਊਜ਼ਰ ਫੀਚਰ ਲਈ ਬਾਕੀ ਦਾ ਅੰਤਰ ਛੋਟਾ ਅਤੇ ਚੰਗੀ ਤਰ੍ਹਾਂ ਪਰਿਭਾਸ਼ਿਤ ਹੈ।
ਜੇ ਤੁਸੀਂ ਬ੍ਰਾਊਜ਼ਰ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ, ਜਾਂ ਵੱਡੇ ਪਲੇਟਫਾਰਮ ਬਣਾਉਂਦੇ ਹੋ ਅਤੇ ਇੱਕ ਵਿਸ਼ਵਵਿਆਪੀ ਬਹੁਭਾਸ਼ਾਈ ਪਰਤ ਚਾਹੁੰਦੇ ਹੋ ਜੋ ਤੁਹਾਡੇ ਸੁਰੱਖਿਆ ਮਾਡਲ ਦਾ ਆਦਰ ਕਰਦਾ ਹੈ, ਤਾਂ ਅਸੀਂ ਗੱਲ ਕਰਨ ਲਈ ਤਿਆਰ ਹਾਂ। ਕੋਡ ਮੌਜੂਦ ਹੈ। ਵਿਵਹਾਰ ਮਾਪਣਯੋਗ ਹੈ। ਅਗਲਾ ਕਦਮ ਭਾਈਚਾਰਾ ਹੈ।