在这种情况下实现的这个JS代码有什么问题?
http://jsfiddle.net/dS4r3/24/?q=hsbc在这种情况下实现的这个JS代码有什么问题?
这段代码的作用是它需要的页面的引用者,如果它包含的关键字之一,美看到有它填补了其中的内容与特定的div(这也说明它)
由于你可以看到它的工作正常,当你点击那里,div出现,并充满了包含关键字“hsbc”的内容。简而言之,该功能正在执行中。
现在的问题是,当我在这里执行完全相同的代码,功能似乎并不执行:http://segurosendirecto.com.ar/cotizador-de-seguros-auto/?kw=hsbc
事情我试过到目前为止并没有工作:
- 更新的jQuery
- 删除所有其他脚本只是为了确保它不是与此一冲突。
为什么没有第二个链接的工作呢?
的jsfiddle不正常处理引荐,所以你学会在这种情况下形式的jsfiddle不会转移到你的网站。您的网站通常会处理引荐来源,而引荐来源(http://stackoverflow.com/questions/9695194/whats-wrong-with-this-js-code-implemented-in-this-context
)根本不包含字符串hsbc
。
你需要做的是创建一个新的页面(比如,new-page
)在您的网站,有一个链接cotizador-de-seguros-auto
,请访问:new-page/?kw=hsbc
并点击新链接。那么你的问题就会消失。
页的指引是推出了链接的网页;在这种情况下点击jsfiddle上面的jsfiddle链接jsfiddle中的referrer将是http://stackoverflow.com/questions/9695194/whats-wrong-with-this-js-code-implemented-in-this-context
jsfiddle在框架内运行,因此您可以获取子框架的引用者作为父框架;这就是你的示例测试在jsfiddle中工作的原因。我想你会需要使用或top.document.referrer或parent.document.referrer得到计算器网址为什么你提到的的jsfiddle页面(如果它不破JS跨站安全限制)
如果你想知道当前页面的URL是什么(就像在第二个链接中),你可以使用document.location.href来获取http://segurosendirecto.com.ar/cotizador-de-seguros-auto/?kw=hsbc
而不是document.referrer。然后你会在url结尾找到hsbc。我认为document.location.href可能是你想要在你的实际网站上获得hsbc参数。
您的代码没有被正确执行。总结所有的代码有:
$(function(){
});
那么整个<script></script>
块移动到头部。
更优选的方法是添加代码,您在已有的文件准备的语句,在head标签中。
$(document).ready(function() {
查看here了解更多信息。
不错,但是如果你想直接访问,比如直接粘贴到你的浏览器中,所以你粘贴我上面发布的第二个链接,那将是直接引用者,在这种情况下它不起作用。 你在说什么是正确的,我没有注意到,但如果你直接访问如何 – sebas 2012-03-14 03:17:53
当你键入一个URL或粘贴到浏览器的URL,没有引用。只有当您从一个页面点击到下一个页面时,推荐人才适用。 – 2012-03-14 03:19:18