这段JS代码怎么修改才能获取来路域名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这段JS代码怎么修改才能获取来路域名相关的知识,希望对你有一定的参考价值。

<script language="javascript"> document.write(document.referrer);</script>,这句代码现在只能获取来路URL,怎样才能只显示域名,如admin.com或者www。abc.com

字符串处理下
strLength = document.referrer.length ;
strUrl = document.referrer.substring( 7 , strLength ) ;
strUrl = strUrl.substring( 0 , strUrl . indexOf("/") )

document.write( strUrl );

函数说明
str.Length -------------------返回字符串总长度
str.substring( start_Index, stop_Index ) -----------------截取指定区间字符串
str.indexOf( child_str ) -------------------------返回子字符串第一次在str中出现的位置的追问


document.write(document.referrer);
strLength = document.referrer.length ;
strUrl = document.referrer.substring( 7 , strLength ) ;
strUrl = strUrl.substring( 0 , strUrl . indexOf("/") )document.write( strUrl );

这样写对吗?

追答

最后一句少了个分号~喵。

参考技术A document.domain追问

document.domain这是获取当前域名, document.write(document.referrer);获取来路URL后怎么将“http://”注释掉,还有域名第一个/后面的路径注释掉,那么才能得到来路域名。

PHP获取来路域名 关键字

function keywords($url){

           $spier=array(‘baidu.‘=>‘百度‘,‘google.‘=>‘谷歌‘,‘soso.‘=> ‘搜搜‘,‘sogou.‘=>‘搜狗‘,‘www.haosou.com‘=>‘360‘);

        $q=array(‘百度‘=>‘/wd=([^&]*)/i‘,‘谷歌‘=>‘/q=([^&]*)/i ‘,‘360‘=>‘/q=(.*)/i‘,‘搜狗‘=>‘/query=([^&]*)/i‘,‘搜搜‘=>‘/w=([^&]*)/i‘);
            foreach($spier as $k=>$v){

                if(strpos($url,$k)){
                    preg_match("{$q[$v]}",$url,$b);
                    if($v==‘搜搜‘||$v==‘搜狗‘){
                        $keywords=iconv(‘GBK‘,‘UTF-8‘,urldecode($b[1]));
                    }else{

                        $keywords=urldecode($b[1]);
                       
                    }
                     
                    echo "<br>来自{$v}的关键字:".$keywords.‘<br>‘;
                }
            }  
    }

 

 

调用方法:echo $this->keywords($_SERVER[‘HTTP_REFERER‘]);//$_SERVER[‘HTTP_REFERER‘]获取上一级的url





















以上是关于这段JS代码怎么修改才能获取来路域名的主要内容,如果未能解决你的问题,请参考以下文章

关于JS获取来路url问题

PHP获取来路域名

PHP获取来路域名

两种js获取当前域名代码

用JS获取当前域名并判断

使用js来进行域名授权