跟踪传入的URL

Tracking incoming URL

本文关键字:URL 跟踪      更新时间:2023-09-26

我有一个情况,我需要改变一些基于URL的页面上的CSS访问者来自哪里。我使用一个表单提交一个值到一个新的页面(结帐页面),这是托管在不同的服务器/站点比表单驻留的地方。我有不同的形式发送这个信息到结帐页面上的2个完全不同的网站。在这个结帐页面上,如果用户来自站点A,我需要为div添加特定的类。如果用户来自站点B,我需要为div添加不同的类。如下所示:

if incoming URL is equal to www.abc.com, then addClass ('classABC');
if incoming URL is equal to www.xyz.com, then addClass ('classABC');

我是否提供了足够的信息来正确地评估它?理想情况下,我想在jQuery中实现这一点,但不确定是否有一个现有的插件可以检查这一点。需要注意的一点是,并不是所有提交到结帐页面的表单都位于相同的页面上(例如www.xyz.com/index.html)。有些可能在每个网站的不同页面上,所以我需要能够根据主URL找出这一点。

谢谢!

应该可以在服务器端读取HTTP referer。如果你可以把这个值放入一个隐藏的输入字段,如<input type="hidden" value="the referer" id="referer-value"/>,并读取隐藏的值,例如使用jquery,如var referer = $('#referer-value').val();。但是只要你能读懂服务器上的引用,你也可以直接改变CSS文件的服务器端。

要在JavaScript/jQuery中做到这一点,您需要向页面添加URL参数以指示它来自哪个站点,或者使用服务器端代码将css嵌入页面(这将更好)。在服务器上,你可以用http referrer来做,但它不是100%可靠,所以最好还是使用url参数。

switch(location.hostname) {
   case 'www.xyz.com': 
   case 'xyz.com':
      $('div#yourid').addClass('classXYZ'); break;
   case 'www.abc.com':
   case 'abc.com': 
      $('div#yourid').addClass('classABC'); break;
}

希望有帮助!