-1

例如,我有这段代码能够将页面标题作为参数添加到标识为 ID 的链接中。我希望能够对页面的语言做同样的事情。谢谢你的帮助!

<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>
4

2 回答 2

0

lang要获取页面的语言,您必须从文档元素中获取属性。我创建了一个获取和设置页面语言的示例代码。您可以将输出保存到某个变量并使用它创建链接。

let lang = document.documentElement.lang

console.log(lang)
// output: en

document.documentElement.lang = 'af'

console.log(document.documentElement.lang)

// output: af
于 2020-05-25T16:46:58.433 回答
-1

我将此添加为新答案,因为我不确定我应该做什么(这一事实本身表明这不是一个写得很好的问题),但我会尝试。

因此,您的脚本使用了一些 ID 数组。然后它为每个 ID 创建一个间隔,该间隔不断更新href具有该 ID 的元素的属性和某个值。我不知道你为什么会这样做,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 可能会对您有所帮助。

于 2020-05-26T12:10:32.543 回答