Используйте javascript и html, чтобы отправить запрос на внешний сайт и открыть в новой вкладке. - PullRequest
0 голосов
/ 24 мая 2018

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

Я действительно близок к тому, чтобы сделать это правильно, но у меня есть один знак "#", который отбрасывает меня.Это ситуация ...

У меня есть окно поиска во всплывающем окне с расширением Chrome, которое я создаю, и которое предназначено для отправки своих данных для поиска на другом веб-сайте.Допустим, например, что я ввожу в поле поиска «помощь» и нажимаю клавишу ввода.

URL-адрес, на который я иду, таков: https://example.com/search/main.action/search/doAdvancedSearch.action?searchQuery.search=help

URL-адрес, на который мне нужно перейти, точно такой жевещь, но сразу после "main.action" мне нужно "#".Например: https://example.com/search/main.action#/search/doAdvancedSearch.action?searchQuery.search=help

Мой HTML-код для формы выглядит следующим образом:

<form target="_blank"  action="https://example.com/search/main.action/search/doAdvancedSearch.action" + "?">
<label>Search :
  <input type="search" name="searchQuery.search">
</label>
  <button type= "submit">Search website</button>
</form>

Мой сценарий выглядит следующим образом:

var searchItem = document.getElementById('search').value;
console.log(searchItem);

function website(){
  window.open('https://example.com/home/main.action', '_blank');
  document.getElementById('q').value = searchItem;
  document.getElementById('searchArchived').click();
  var results = document.getElementById('search-results').value;
};

document.getElementById('gotowebsite').addEventListener('return', website);


}

Я пыталсявсе виды вещей, чтобы добавить # в URL, но мне не повезло вообще.Даже добавление + "#" после main.action дает мне нежелательные результаты.Какие-либо предложения?Заранее спасибо.

И да, я пытался использовать другие предложения, которые были даны на подобные вопросы.Они не решили проблему #.: /

1 Ответ

0 голосов
/ 24 мая 2018

Это делает работу:

function redirect() {
  var searchitem = document.getElementById("search");
  window.location.replace("https://example.com/search/main.action#/search/doAdvancedSearch.action?searchQuery.search" + searchitem.value);
}
<form action="javascript:redirect()">
  <label>Search :
  <input id="search" type="search">
</label>
  <button type="submit">Search website</button>
</form>

Чтобы открыть страницу поиска в новой вкладке:

function redirect() {
  var searchitem = document.getElementById("search");
  var url = "https://example.com/search/main.action#/search/doAdvancedSearch.action?searchQuery.search=" + searchitem.value;
  window.open(url,"");
}
<form action="javascript:redirect()">
  <label>Search :
  <input id="search" type="search">
</label>
  <button type="submit">Search website</button>
</form>
...