跟踪传入的URL

时间:2011-04-04 17:23:46

标签: javascript jquery

我有一种情况需要根据访问者来自的URL更改页面上的CSS。我正在使用表单向新页面(结帐页面)提交一个值,该页面托管在与表单所在位置不同的服务器/站点上。我有不同的表单将这些信息发送到两个完全不同的网站上的结帐页面。在此结帐页面上,如果用户来自站点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)。有些可能位于每个网站的不同页面上,因此我需要能够根据主要网址计算出来。

谢谢!

3 个答案:

答案 0 :(得分:0)

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;
}

希望它有所帮助!

答案 1 :(得分:0)

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

答案 2 :(得分:0)

应该可以在服务器端读取HTTP Refferer。如果您可以将此值放入隐藏的输入字段(如<input type="hidden" value="the referer" id="referer-value"/>)并读取该隐藏值,例如使用jquery,例如var referer = $('#referer-value').val();。但只要您可以在服务器上读取引用,您也可以直接更改服务器上的css文件。