我可以通过JavaScript以编程方式打开浏览器的本机搜索对话框吗?

时间:2018-10-16 12:31:01

标签: javascript browser

是否可以从网页内部以编程方式打开Web浏览器的本机搜索对话框?

还有可能,我是否可以以编程方式在其中进行搜索?

2 个答案:

答案 0 :(得分:3)

no way to open browser's utilities 之类的使用 javascript 的查找、扩展、设置等。但是,您可以使用提示窗口创建自己的搜索:

const searchBtn = document.getElementById("searchBtn");
const searchElement = document.querySelector("#text"); // Any element you want to search
const backup = searchElement.innerHTML;

searchBtn.addEventListener("click", function () {
  searchElement.innerHTML = backup;

  const search = prompt("Search");
  const text = searchElement.innerHTML.split(" ");

  if (search != null) {
    for (let i = 0; i < text.length; i++) {
      let index = text[i];
      let splitIndex = index.split("");
      if (index.toLowerCase().includes(search.toLowerCase())) {
        for (let si = 0; si < index.length; si++) {
          if (search.toLowerCase().includes(index[si].toLowerCase())) {
            splitIndex[si] = `<mark>${index[si]}</mark>`;
            text[i] = splitIndex.join("");
          }
        }
      }
    }
    searchElement.innerHTML = text.join(" ");
  }
});
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Search Menu</title>
  </head>
  <body>
    <p id="text">The quick brown fox jumped over the lazy dog.</p>
    <button id="searchBtn">Search</button>
  </body>
</html>

您还可以使用 window.find() 在您的页面中查找字符串:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Search Menu</title>
  </head>
  <body>
    <p id="text">The quick brown fox jumped over the lazy dog.</p>
    <button id="searchBtn">Search</button>
  </body>

  <script type="text/javascript">
    const searchBtn = document.getElementById("searchBtn");

    searchBtn.addEventListener("click", function () {
      const search = prompt("Search");
      const searchResult = window.find(search);
    });
  </script>
</html>

答案 1 :(得分:0)

如果您的意思是浏览器在页面中使用command + fctrl + f触发浏览器搜索,具体取决于您的操作系统

您可以使用window.find()方法,这里是reference

否则,如果您的意思是包含网站URL的搜索栏,则可以使用将显示当前URL的window.location.href来访问其值

如果要进行搜索,只需键入即可轻松将其更改为任何内容

window.location.href = your_value;