使用javascript / jquery捕获搜索词

Capture search terms with javascript / jquery

本文关键字:搜索 jquery javascript 使用      更新时间:2023-09-26

我看过各种关于如何使用PHP tp的文章和帖子,抓取用于查找网站的搜索词。例如

在php中捕获搜索引擎关键字

我怎样才能用Javascript/jQuery做到这一点?

最终,我想获取关键字并将它们用于我已经编写并处理的 AJAX 请求(用于其他类似但不同的内容)。

注意:这对我来说是一个新领域,所以输入慢,用勺子喂它,如果可以的话,链接到更多详细信息总是不胜感激的。

您可以使用

document.referrer来获取上一页网址的网址,如下所示:

console.log(document.referrer);

将输出如下内容:

http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10

只是喂给你的 Ajax。

使用您链接到的问题中的正则表达式,此函数将返回用于查找当前页面的关键字数组或空数组:

function parse_keywords(url){
    var matches = url.match(/.*(?:'?p=|'?q=|&q=|'?s=)([a-zA-Z0-9 +]*)(?:&toggle=|&ie=utf-8|&FORM=|&aq=|&x=|&gwp)/);
    return matches ? matches[1].split('+') : [];
}
console.log(parse_keywords(document.referrer)); // Get keywords from referrer
console.log(parse_keywords('http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10')); // Or any given url

简短的回答:你不能。

编辑:嗯,你可以。我的错。请参阅document.referrer答案。我 不过,最后一点仍然有效。

扩展版本:Javascript在客户端运行,而PHP在Web服务器上运行。因此,PHP 可以访问环境变量,例如 HTTP referer,并可以提取其中的一部分。在任何情况下,您都需要提供一些信息以及您的网站(例如隐藏字段),这些信息又可以通过javascript进行处理。

此外,您的 ajax 请求是(您猜对的)对服务器端脚本的调用。因此,您可能希望在网站交付脚本中使用该脚本的逻辑。