Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跟踪传入URL_Javascript_Jquery - Fatal编程技术网

Javascript 跟踪传入URL

Javascript 跟踪传入URL,javascript,jquery,Javascript,Jquery,我有一种情况,我需要根据访问者来自的URL更改页面上的一些CSS。我正在使用表单向新页面(签出页面)提交值,该页面位于表单所在的服务器/站点之外的其他服务器/站点上。我有不同的表格将这些信息发送到两个完全不同的网站的结帐页面。在此签出页面上,如果用户来自站点A,我需要将某个类添加到div中。如果用户来自站点B,我需要将另一个类添加到div中。类似如下: if incoming URL is equal to www.abc.com, then addClass ('classABC'); if

我有一种情况,我需要根据访问者来自的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)。有些可能在每个站点的不同页面上,所以我需要能够根据主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;
}
希望有帮助



希望有帮助

要在JavaScript/jQuery中实现这一点,您需要在页面中添加一个URL参数,以指示它来自哪个站点,或者使用服务器端代码在页面中嵌入css(哪个更好)。在服务器上,您可以使用http Referer来完成此操作,但它不是100%可靠的,因此最好使用url参数。

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

应该可以在服务器端读取http referer。如果您可以将该值放入一个隐藏的输入字段中,如
,然后使用jquery读取该隐藏值,如
var referer=$('#referer value').val()。但是,只要您可以在服务器上读取referer,您也可以直接更改css文件serverside。

应该可以在服务器端读取HTTP referer。如果您可以将该值放入一个隐藏的输入字段中,如
,然后使用jquery读取该隐藏值,如
var referer=$('#referer value').val()。但是,只要您可以在服务器上读取referer,您也可以直接更改css文件serverside。

您可以将URL作为某种值或标识符传递给表单吗?甚至是
form.abc?from=1
form.abc?from=2
或类似的东西?您可以将URL作为某种值或标识符传递给表单吗?甚至
form.abc?from=1
form.abc?from=2
或类似的东西
位置。主机名
指的是当前主机,而不是指代主机。哦,对不起。。。如果代码在一个.js文件中,例如,你通过这个.js文件提供了一个API,而其他webdeveloper使用这个.js文件,那么这种方法是非常有用的@ITroubs好吧,您必须先定义
{site:class}
映射,才能将其称为API;)<代码>位置。主机名
指的是当前主机,而不是指的主机。哦,对不起。。。如果代码在一个.js文件中,例如,你通过这个.js文件提供了一个API,而其他webdeveloper使用这个.js文件,那么这种方法是非常有用的@ITroubs好吧,您必须先定义
{site:class}
映射,才能将其称为API;)好建议。每个人都提供了很棒的答案,但对于这种特殊情况,这种解决方案将非常有效。谢谢你到底为什么要在客户端而不是服务器上这样做?您已经在将值存储到隐藏字段中,似乎合乎逻辑,您只需在其中添加类即可。我在使用Foxy Cart电子商务。使用foxycart“addtocart”表单,用户将产品添加到购物车(AJAX表单),表单中有一个隐藏的输入字段,我们根据他们所在的站点定义一个类别。例如,如果他们在“www.abc.com”网站上,那么我们将分配一个“abc”类别。提交表单时,信息被发送到Foxy Cart结帐页面,表单中的信息存储在JSON中。在这种情况下,网站“www.abc.com”将具有“abc”类别。有了JSON,我可以编写一个简单的jQuery来检查JSON并相应地执行操作。仅供参考,HTTP Referer是获取任何内容的一种非常糟糕的方法。它不仅不安全,而且也不总是受支持。在很多方面,使用HTTP参考是一个糟糕的选择,但是在购物车中使用它是鲁莽的。好建议。每个人都提供了很棒的答案,但对于这种特殊情况,这种解决方案将非常有效。谢谢你到底为什么要在客户端而不是服务器上这样做?您已经在将值存储到隐藏字段中,似乎合乎逻辑,您只需在其中添加类即可。我在使用Foxy Cart电子商务。使用foxycart“addtocart”表单,用户将产品添加到购物车(AJAX表单),表单中有一个隐藏的输入字段,我们根据他们所在的站点定义一个类别。例如,如果他们在“www.abc.com”网站上,那么我们将分配一个“abc”类别。提交表单时,信息被发送到Foxy Cart结帐页面,表单中的信息存储在JSON中。在这种情况下,网站“www.abc.com”将具有“abc”类别。有了JSON,我可以编写一个简单的jQuery来检查JSON并相应地执行操作。仅供参考,HTTP Referer是获取任何内容的一种非常糟糕的方法。它不仅不安全,而且也不总是受支持。在许多方面,使用HTTP参考是一个糟糕的选择,但在购物车中使用它只是鲁莽之举。