Google検索では、翻訳に関連する翻訳に関連するいくつかの関数が提供されます。これにより、ユーザーは翻訳されたコンテンツにアクセスできます。広告ネットワークが翻訳されたWebページで正しく動作しない場合は、広告が正しく表示され、属性が正しく添付されるように、このマニュアルに記載されている推奨事項に従う必要があります。
ユーザーが検索結果からGoogle翻訳が提供する翻訳されたコンテンツに頼ると、Googleはパブリッシャーからページを受信し、ソースURLを変更し、ユーザーが翻訳された結果にクリックした後にWebページを翻訳します。
広告ネットワークが最初のURLパブリッシャーに依存している場合、広告が正しく表示されるようにURL Google翻訳を変換する必要があります。これらの手順に従って、パブリッシャーホストの名前をデコードします。
function decodeHostname(proxyUrl) {
const parsedProxyUrl = new URL(proxyUrl);
const fullHost = parsedProxyUrl.hostname;
// 1. Извлеките префикс домена из имени хоста, удалив суффикс ".translate.goog"
let domainPrefix = fullHost.substring(0, fullHost.indexOf('.'));
// 2. Разделите параметр _x_tr_enc на части, используя запятую, и сохраните как encodingList
const encodingList = parsedProxyUrl.searchParams.has('_x_tr_enc') ?
parsedProxyUrl.searchParams.get('_x_tr_enc').split(',') : [];
// 3. Добавьте значение параметра _x_tr_hp к префиксу домена, если оно существует
if (parsedProxyUrl.searchParams.has('_x_tr_hp')) {
domainPrefix = parsedProxyUrl.searchParams.get('_x_tr_hp') + domainPrefix;
}
// 4. Удалите префикс '1-' из результата шага 2, если encodingList содержит '1' и результат начинается с '1-'.
if (encodingList.includes('1') && domainPrefix.startsWith('1-')) {
domainPrefix = domainPrefix.substring(2);
}
// 5. Удалите префикс '0-' из результата шага 3, если encodingList содержит '0' и результат начинается с '0-'.
// Установите isIdn в true, если префикс был удален, в false в противном случае.
let isIdn = false;
if (encodingList.includes('0') && domainPrefix.startsWith('0-')) {
isIdn = true;
domainPrefix = domainPrefix.substring(2);
}
// 6. Замените /-/ на точку (.)
// 7. Замените двойное тире на одно тире.
let decodedSegment = domainPrefix.replaceAll(/-/g, '.').replaceAll('--', '-');
// 8. Если isIdn равно true, добавьте префикс 'xn--'.
if (isIdn) {
decodedSegment = 'xn--' + decodedSegment;
}
return decodedSegment;
}
次のテーブルを使用して、コードのユニットテストを作成できます。 proxyurlを送信する場合、decodehostname関数は期待値を返す必要があります。
次の表は、ホストの名前のテストにのみ使用されます。パス、フラグメント、元のURLパラメーターが変更されていないことを確認する必要があります。
| proxyurl | decodehostname |
|---|---|
| https:// example-kom。 translavite。ホゴ | Example.com |
| https:// fo-example-kom。 translavite。ホゴグ | fu。 example.kom |
| https:// fo --- example-kom。 translavite。ホゴグ | fooo-example.kom |
| https://0-57xh060o-oko.salyt。 goog/? _c_tr_ents = 0 | HN-57XH060O.K。 |
| https:// 1-en - us-example-com/? _x_tr_enc = 1 | en-usa exmple.k。 |
| https://lanfairpwlgwyngylgogogogorychwyrndrobwllantyogogogocho-co-uk.translate .goog/? _ x_tr_hp = lllanfairpwlgwyngylgogogorndrobwllantysiliogogogogoch.co.uk | lllanfirepvlgvalgogagergartychyrndrovlelandiliogogogogogch.so.uk |
サイトへの転送の統合と広告の正しい表示について質問がある場合は、seo.computer seo Companyに電子メールの問題について連絡することができます info@seo.computer またはWhatsAppで +79202044461。
ID 168