Я новичок в javascript, мне нужно скрыть фрагмент кода, который я использую в html, в отдельном файле js и использовать его на нескольких страницах сайта, как я могу это сделать?

Это код, защищающий почту от спам-ботов:

<a href="mailto:testx@testsitex.com" onmouseover="this.href=this.href.replace(/x/g,'');">test@testsite.com</a>

Как я могу перенести этот код onmouseover="this.href=this.href.replace(/x/g,'');" в отдельный файл js, а затем использовать его здесь?

0
meow 10 Окт 2021 в 23:21

2 ответа

Лучший ответ

Вы можете добавить курс к своим ссылкам электронной почты

<a href="mailto:testx@testsitex.com" class="protected">test@testsite.com</a>

Создайте файл js mouseover.js и добавьте в него этот код:

    document.addEventListener("mouseover", (e)=>{
      if(e.target.className === 'protected') e.target.href=e.target.href.replace(/x/g,'');
    });

И добавьте этот файл на каждую страницу, содержащую ссылки на электронную почту (можно больше)

<script type="text/javascript" src="mouseover.js"></script>
document.addEventListener("mouseover", (e)=>{
  if(e.target.className === 'protected') {
  e.target.href=e.target.href.replace(/x/g,'');
  console.log(e.target.href);
  }
});
<a href="mailto:testx1@testsitex.com" class="protected">test1@testsite.com</a>
<a href="mailto:testx2@testsitex.com" class="protected">test2@testsite.com</a>
<a href="mailto:testx3@testsitex.com" class="protected">test3@testsite.com</a>
<a href="mailto:testx4@testsitex.com" class="protected">test4@testsite.com</a>
<a href="mailto:testx5@testsitex.com" class="protected">test5@testsite.com</a>
1
Gabriel 10 Окт 2021 в 20:37

Вы можете использовать, например, функцию unicode и unescape:

var hidden = unescape("\u0048\u0069\u0064\u0064\u0065\u006e \u006d\u0065\u0073\u0073\u0061\u0067\u0065\u0021");
0
fog 10 Окт 2021 в 20:30