我看到一些网站突出显示您使用的搜索引擎关键字,以访问该页面。(例如您在 Google 搜索列表中输入的关键字)
它如何知道您在搜索引擎中输入了哪些关键字?它是否检查引用者 HTTP 标头或其他内容?任何可用的脚本可以做到这一点?它可能是服务器端或 JavaScript,我不确定。
我看到一些网站突出显示您使用的搜索引擎关键字,以访问该页面。(例如您在 Google 搜索列表中输入的关键字)
它如何知道您在搜索引擎中输入了哪些关键字?它是否检查引用者 HTTP 标头或其他内容?任何可用的脚本可以做到这一点?它可能是服务器端或 JavaScript,我不确定。
这可以在服务器端或客户端完成。搜索关键字是通过查看 HTTP Referer (sic) 标头来确定的。在 JavaScript 中,您可以查看document.referrer
.
一旦你有了推荐人,你检查它是否是你知道的搜索引擎结果页面,然后解析出搜索词。
例如,Google 的搜索结果中的 URL 如下所示:
http://www.google.com/search?hl=en&q=programming+questions
查询参数是搜索查询,因此q
您需要将其拉出并取消 URL 转义,结果是:
programming questions
然后,您可以搜索页面上的术语并根据需要突出显示它们。如果您在此服务器端进行操作,您将在将 HTML 发送到客户端之前对其进行修改。如果您在客户端进行操作,您将操作 DOM。
现有的库可以为您执行此操作,例如这个.
意识到这可能为时已晚,无法产生任何影响......
拜托,我求求你——找出如何做到这一点,然后永远不要这样做。作为一名网络用户,当我遇到一个自动执行此操作的网站时,我发现它非常烦人(并且分散注意力)。大多数情况下,它只会突出显示页面上的所有其他单词。如果我需要帮助在页面中查找某个单词,我的浏览器内置了一个更合适的“查找”功能,我可以随意使用或不使用它,而不必重新加载整个页面才能让它运行当我不想要它时(这是绝大多数时间)。
基本上,你...
document.referrer
。有一个包含搜索词的 GET 参数的域列表。
var searchEnginesToGetParam = {
'google.com' : 'q',
'bing.com' : 'q'
}
提取适当的 GET 参数和decodeURIComponent()
它。