Как получить язык страницы (hreflang) в JavaScript и добавить его в качестве параметра в ссылку - PullRequest
0 голосов
/ 25 мая 2020

В качестве примера у меня есть этот код, который может добавлять заголовок страницы в качестве параметра к ссылке, которая определяется как идентификатор. Я хотел бы сделать то же самое для языка страницы. Спасибо за помощь!

<script>
const linkIds = [
  'Your_link_id'
];
linkIds.forEach(id => {
  const interval = setInterval(() => {    
    const link = document.querySelector('#' + id);
    if (link) {
      clearInterval(interval);
      const href = link.getAttribute('href');
      const pageTitle = 
        document
          .title
          .replace(/\s+/g, '_')
          .replace(/&/g, '')
          .toLowerCase()
      const newHref = `${href}?your_parameter_name=${pageTitle}`;
      link.setAttribute('href', newHref);
    }
  }, 20);
});
</script>

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Я добавил это как новый ответ, потому что я не уверен, что я должен делать (этот факт сам по себе показывает, что это не очень хорошо написанный вопрос), но я попробую.

Итак, ваш сценарий использует какой-то массив идентификаторов. Затем он создает интервал для каждого идентификатора, который постоянно обновляет атрибут href элемента с этим идентификатором с некоторым значением. Я не знаю, зачем вам это делать, поскольку pageTitle или language не меняется с течением времени, но я могу просто перестать спрашивать, поэтому вот отредактированный код:

<script>

    const linkIds = [
        'Your_link_id'
    ];

    // here I get the lanugage of the page
    let lang = document.documentElement.lang;

    linkIds.forEach(id => {
        const interval = setInterval(() => {    
            const link = document.querySelector('#' + id);
            if (link) {
                clearInterval(interval);
                const href = link.getAttribute('href');

                // here I set the language where page title was before 
                const newHref = `${href}?your_parameter_name=${lang}`;

                link.setAttribute('href', newHref);
            }
        }, 20);
    });

</script>

Попробуйте и сообщите . Если вам нужно использовать такой сложный сценарий, вам может быть полезно выучить Javascript.

0 голосов
/ 25 мая 2020

Чтобы получить язык страницы, вам необходимо получить свойство lang из элемента документа. Я создал пример кода, который получает и устанавливает язык страницы. Вы можете сохранить вывод в какую-либо переменную и создать с ней ссылку.

let lang = document.documentElement.lang

console.log(lang)
// output: en

document.documentElement.lang = 'af'

console.log(document.documentElement.lang)

// output: af
...