gpt4 book ai didi

javascript - 使用 JavaScript 在页面上搜索文本

转载 作者:行者123 更新时间:2023-11-28 01:26:29 24 4
gpt4 key购买 nike

我有一个常见问题页面,我想包括搜索功能,这样人们就不必阅读整个页面就能找到他们要找的东西。

jQuery("#search_submit").on("click", function () {
//var search_str = jQuery("#search_text").val();console.log(search_str);
findString('');
return false;
});

var TRange=null;

function findString (str) {
str = document.getElementById('search_text').value;//jQuery("#search_text").val();
if (parseInt(navigator.appVersion)<4) return;
var strFound;
if (window.find) {

// CODE FOR BROWSERS THAT SUPPORT window.find

var original_content = window;
strFound=original_content.find(str);
if (!strFound) {
strFound=original_content.find(str,0,1);
while (original_content.find(str,0,1)) continue;
}
}
else if (navigator.appName.indexOf("Microsoft")!=-1) {

// EXPLORER-SPECIFIC CODE

if (TRange!=null) {
TRange.collapse(false);
strFound=TRange.findText(str);
if (strFound) TRange.select();
}
if (TRange==null || strFound==0) {
TRange=self.document.body.createTextRange();
strFound=TRange.findText(str);
if (strFound) TRange.select();
}
}
else if (navigator.appName=="Opera") {
alert ("Opera browsers not supported, sorry...")
return;
}
if (!strFound) alert ("String '"+str+"' not found!")
return;
}

我正在使用这个 script但我不确定我做错了什么。它仅搜索搜索文本输入字段之前的页面部分。

这是 jsfiddle 上的所有设置 http://jsfiddle.net/sandyrig/h86knpsq/1/

试着搜索“stuff”或“lol”这个词,你就会明白我的意思。

编辑

此外,实际上,当页面加载时,页面中的所有问题都将处于折叠状态,因此我将自定义此脚本,使其即使在折叠的答案中也能找到文本,并在搜索页面时到达时展开它。

最佳答案

阅读您链接的页面上的说明。他们将输入框放在 iframe 中,从而从页面的 HTML 中排除了输入框。您的代码中发生的情况是,一旦 .find() 函数到达 input 字段,它就会切换焦点并重新开始搜索。

尝试将您要搜索的文本硬编码为输入字段中没有的内容,您会发现它有效。

工作示例:http://jsfiddle.net/daqb13n0/

另外,正如@CurtisAutery 所说,过滤功能会更有意义。如果这是客户的要求,那么作为专业人士,您的工作就是向客户解释他们错在哪里。或者,他们不知道过滤是什么,也没有人问过他们。

此外,现在它在页面上的任何位置搜索文本,您会希望将结果限制为可用问题和答案中的文本,对吗?

长话短说:

  • 如果您希望它像在您链接的页面上一样工作:将输入放入一个 iframe。
  • 如果您想交付优质产品:让客户相信什么他们想要的是过滤功能。

关于javascript - 使用 JavaScript 在页面上搜索文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com