Как добавить текущее значение строки запроса в гиперссылки моей страницы? - PullRequest
0 голосов
/ 02 апреля 2020

Цель моего кода - поиск сразу по нескольким веб-сайтам.

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

С помощью java -скрипта я добавляю поисковый термин name к массиву ссылок linkList.

Написанный из кусочков кода, который я нашел в сети, работал "отлично" перед добавлением form часть для генерации моей строки запроса. Теперь он даже не отображает ссылки.

HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="css/styles.css?v=1.0">
</head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
      <script src="/scripts"></script>
<body>


    <form id="test-form">   
        <div>
        <input type="text" name="search" placeholder="Search"id="id"/>
      <button type="submit" id="go">get links</button> </div>   </form> 


      <div id="linkText"></div>
<div id="a">test</div>
</body>

</html>

Javascript

$(document).ready(function(){
    //READ URL
    let params = (new URL(document.location)).searchParams;
    let name = params.get("search");
    console.log(name) 
    //IF QUERY IN URL
    if(name !== null && name !== '') {
        // do something
     }
     else {
    //ARRAY LIST 1
    var linkList = {
            "https://google.net":"Click",
            "https://google.org=":"Click2",
            };

    //LINK GENERATION FROM ARRAY
    for (link in linkList) {
        if (linkList.hasOwnProperty(link)) {
          var a = document.createElement('a'),
              linkText = document.createTextNode(linkList[link]);
               //ADD THE QUERY AT THE END OF THE LINK
          a.href = link + name;
          a.appendChild(linkText);
          document.body.appendChild(a);
        }
      }
    }
    });

1 Ответ

0 голосов
/ 19 апреля 2020

Нашел более простое решение, которое решило мою проблему:

Я ищу в URL параметры запроса и вызываю их name

    let params = (new URL(document.location)).searchParams;
    let name = params.get("search");

Но я создаю ссылки в менее сложном манера

      document.write('<a href="' + foo + '" class = "bar">Link Name</a>');
      var foo = "http:example.com/search="+name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...