PageSourceSearch

https://tanaka-preciousmetals.com/jp/lang-files/js/wovn.js

js tanaka-preciousmetals.com collected 2026-09-25 23:48:59 UTC 1,810 bytes, 76 lines download raw bytes

1const parentObj = document.querySelector(".wovn-languages");
2const switches = document.querySelectorAll(".wovn-switch");
3let s_selected = document.querySelector(".wovn-switch.selected");
4
5// -------------------------
6// 記事が存在しない言語はニュースTOPへリンク変更
7// -------------------------
8const newsLang = document.querySelector("#news-lang");
9
10if (newsLang) {
11  const availableLangs = newsLang.dataset.lang.split(",");
12
13  // WOVNの言語コード → サイトの言語コード
14  const langMap = {
15    ja: "jp",
16    en: "en",
17    ko: "kr",
18    "zh-CHT": "tw",
19    "zh-CHS": "cn",
20    de: "de"
21  };
22
23  const topUrl = {
24    jp: "/jp/news/",
25    en: "/en/news/",
26    kr: "/kr/news/",
27    tw: "/tw/news/",
28    cn: "/cn/news/",
29    de: "/de/news/"
30  };
31
32  switches.forEach(function(sw) {
33    const lang = langMap[sw.dataset.value];
34    const link = sw.querySelector("a");
35
36    if (
37      link &&
38      topUrl[lang] &&
39      !availableLangs.includes(lang)
40    ) {
41      link.href = topUrl[lang];
42    }
43  });
44}
45
46// -------------------------
47// 既存処理
48// -------------------------
49reDefine();
50
51switches.forEach(function(sw) {
52  sw.addEventListener("click", function() {
53    for (let i = 0; i < switches.length; i++) {
54      switches[i].classList.remove("view");
55      switches[i].classList.remove("selected");
56    }
57
58    sw.classList.add("selected");
59    s_selected = sw;
60    reDefine();
61  })
62})
63
64parentObj.addEventListener('mouseleave', function(){
65  switches.forEach(function(sw) {
66    sw.classList.remove("view");
67  });
68});
69
70function reDefine() {
71  s_selected.addEventListener("mouseover", function() {
72    for (let i = 0; i < switches.length; i++) {
73      switches[i].classList.add("view");
74    }
75})
76}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.