gpt4 book ai didi

jquery - 为什么 Angular js 中的 $document.referrer 返回空白。但是当我使用 document.referrer 时它会返回我的值

转载 作者:行者123 更新时间:2023-12-03 23:06:46 27 4
gpt4 key购买 nike

var referrer = $document.referrer;

需要的值

$document.referrer 

在变量中。

最佳答案

$document 实际上是一个 jqLit​​e/jQuery 查询结果,因此该属性不存在。如果您想获得推荐人,您可以:

a) 直接访问 DOM 文档:

var referrer = document.referrer; 

不建议这样做,因为您在编写单元测试时会遇到麻烦。

b) 引用 jqLit​​e/jQuery 查询结果中的对象:

var referrer = $document[0].referrer;

我个人也不喜欢这种方法,代码变得丑陋且具有误导性。

c) 装饰$document:

myApp.config(function($provide){
$provide.decorator('$document', function($delegate){

$delegate.getReferrer = function() {return document.referrer;};

// alternative you can create a property
// Object.defineProperty($delegate, 'referrer', {
// get: function() { return document.referrer; }
// });

return $delegate;
});
});

然后获取引荐来源网址:

var referrer = $document.getReferrer();
//Or if you created a property...
//var referrer = $document.referrer;

我更喜欢这个选项,因为您可以在单元测试中轻松模拟这个对象,并且您的代码更容易理解。

关于jquery - 为什么 Angular js 中的 $document.referrer 返回空白。但是当我使用 document.referrer 时它会返回我的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32762216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com