【问题标题】:Capture search terms with javascript / jquery使用 javascript / jquery 捕获搜索词
【发布时间】:2025-12-31 00:45:07
【问题描述】:
我看过各种关于如何使用 PHP tp 抓取用于查找网站的搜索词的文章和帖子。例如,
Capture search engine keywords in php
如何使用 Javascript / jQuery 也能做到这一点?
最终,我想获取关键字并将它们用于我已经编写和工作的 AJAX 请求(用于其他类似但不同的东西)。
注意:这对我来说是一个新区域,所以请慢慢输入,用勺子喂它,如果可以的话,我们总是感谢您提供指向更多详细信息的链接。
【问题讨论】:
标签:
javascript
jquery
seo
【解决方案1】:
你可以像这样使用document.referrer获取上一页url的url:
console.log(document.referrer);
会输出类似:
http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10
只提供给你的 ajax。
【讨论】:
-
截至 2019 年 10 月 8 日。浏览器不会返回完整的 URI,如果您使用 google 搜索网站并使用 Bing 进行相同的搜索,它们只会返回“google.com”。
【解决方案2】:
使用您链接到的问题中的正则表达式,此函数将返回用于查找当前页面的关键字数组或空数组:
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
【解决方案3】:
简短的回答:你不能。
编辑:嗯,你可以。我的错。请参阅document.referrer 答案。我的
不过,最后一点仍然有效。
扩展版:Javascript 在客户端运行,而 PHP 在 Web 服务器上运行。因此,PHP 可以访问环境变量,例如 HTTP 引用,并且可以提取其中的一部分。在任何情况下,您都需要提供一些信息以及您的网站(例如隐藏字段),这些信息可能会通过 javascript 进行处理。
此外,您的 ajax 请求(您猜对了)是对服务器端脚本的调用。因此,您可能希望在网站交付脚本中使用该脚本的逻辑。