答案是新浪排除了百度。
查看新闻内容页面引用的 index.min.js ,搜索 goReturnChannel,你可以发现在页面 controller 初始化的时候调用了该方法,该方法第一句是
if (this.startTime = new Date().getTime(), this.HasHistoryUrl())
HasHistoryUrl 的实现的最后一句是
return window.sinaHisPush && !U.Utils.isSinaNews() && !U.Utils.isQQ() && !U.Utils.isWeibo() && this.backEnd() && this.isBlackList() && this.isStopHis();
isBlackList 会判断 referrer 是否处于 black list 里面,代码里有一段是:
this.blackListArray = ['wm=3206', 'wm=3255', 'wm=3242', 'wm=3208', 'wm=3315', 'wm=3312', 'wm=3402', '
51xiancheng.com', '
3g.cn', 'baidu'], this.blackListUaArray = ['sinasports', 'sinafinance', 'sinanews']
这里显式免出了百度 refer 过来的情况下加历史记录的设定。