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

标签 javascript browser

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

此外,如果可能的话,我能否以编程方式在其中执行搜索?

最佳答案

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>

关于javascript - 我可以通过 JavaScript 以编程方式打开浏览器的 native 搜索对话框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52835530/

相关文章:

javascript - 为什么 Js 将变量更改为 Nan 并弄乱其他向量

c# - WebBrowser 'steals' 快捷键

.net - 获取与Webbrowser文档中的XPath表达式匹配的所有元素

c# - 在 C# 中的外部浏览器中打开嵌入式 html

JavaScript 正则表达式不匹配

javascript - 修改javascript对象为特定格式

javascript - 在函数中重复循环 if/else 语句

browser - 如果没有 npm install,我怎么能下载很多 NPM 模块?

c# - 在 C# 中更改默认的网页浏览器渲染模式

javascript - 用于融合图表的 LabelDisplay MScombi3d 图表