【问题标题】:Use Browser Search (Ctrl+F) through a button in website?通过网站中的按钮使用浏览器搜索 (Ctrl+F)?
【发布时间】:2011-12-26 04:25:15
【问题描述】:

我创建了一个网站并添加了一个按钮和大量文本。当我按下我在网站中添加的按钮时,我想要的是使用浏览器搜索 (Ctrl+F)。

我怎样才能做到这一点?

【问题讨论】:

  • 可能是不可能的。但它应该存在一些在页面中搜索的js模块。
  • 除非浏览器为其提供 API(BOM - 浏览器对象模型),否则您不能。

标签: javascript asp.net


【解决方案1】:

没有。通常,您不能从网页内部调用浏览器控件 - 安全性、沙盒等等。

您需要进行某种页内搜索 - 如果您使用的是 CMS,其中大多数都内置了简单的搜索功能。

如果您想在 JavaScript 中执行此操作,则有多种脚本可以模拟此页面;从我的查询“javascript find in page”中随机选择的是这个:http://www.seabreezecomputers.com/tips/find.htm

【讨论】:

  • 我正在创建一个自定义 CMS,所以我没有任何内置的搜索功能.. :( ny pointers?
  • 这里有一个:“不要创建自己的自定义 CMS。”
  • @T.W.R.Cole 或者:“不要使用不是你创建的 CMS” ;)
【解决方案2】:

它适用于 FF。见this page

 <a href="#" onclick="find();">Find in This Page...</a>

【讨论】:

  • 你也可以给它传递一个字符串,find('foobar') 将突出显示文档中第一次出现的“foobar”。再次调用find() 将突出显示下一个事件。
  • w3resource.com/javascript/client-object-property-method/… 表示支持的浏览器列表:Internet Explorer 7、Firefox 3.6、Google Chrome 7、Safari 5.0.1、Opera 10。
  • 根据我的测试,Chrome 37 和 FF31 支持 window.find(),但不支持 IE11。不过,我会在未来的支持方面小心:bugzilla.mozilla.org/show_bug.cgi?id=672395
  • @Fabian - find() 突出显示网页中的文本,但它不会向下滚动以显示突出显示的文本(与浏览器的搜索功能不同,它向下滚动页面并显示突出显示的文本)。
【解决方案3】:

更新:来自马克的评论:

根据我的测试 window.find() Chrome 37 和 FF31 支持,但 不是 IE11

更新:

有关此窗口的更多信息。请访问here

【讨论】:

  • 从我的测试来看,window.find() 在 Chrome 37 和 FF31 中受支持,但在 IE11 中不支持。
  • 谢谢@Mark,我用你的答案更新了我的答案
  • 你好,这对我也有用。我只是还希望每当我再次使用 find() 时,它应该从页面顶部搜索(而不是在先前找到的文字之后)。你能告诉我如何重置 find() 函数吗?或者带我去看它的文档?
猜你喜欢
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 2012-01-26
  • 2014-11-04
  • 1970-01-01
  • 1970-01-01
  • 2012-02-21
相关资源
最近更新 更多