搜索引擎来路提醒小窗可广泛应用
本帖最后由 鱼柒 于 2018-8-6 20:41 编辑源码:<?php
function get_referer($referers=''){
// 更改为自己的网址
// 避免来路重复
$localhost = 'https://sec.bducds.com';
/*获取网站来路*/
$referer = $referers ? $referers : $_SERVER['HTTP_REFERER'];
if(!$referer){
return false;
}
/*获取网站host*/
$str = parse_url($referer);
if (!$str['host']||$str['host']==$localhost) {
return false;
}
$url = $str['host'];
/*关键词判断类型*/
if(strpos($url,'baidu') !== false){
$url_str = '百度搜索';
}elseif (strpos($url,'sogou') !== false) {
$url_str = '搜狗搜索';
}elseif (strpos($url,'sm') !== false) {
$url_str = '神马搜索';
}elseif (strpos($url,'bing') !== false) {
$url_str = '必应搜索';
}elseif (strpos($url,'google') !== false) {
$url_str = '谷歌搜索';
}elseif (strpos($url,'so') !== false) {
$url_str = '360搜索';
}elseif (strpos($url,'easou') !== false) {
$url_str = '宜搜搜索';
}elseif (strpos($url,'yahoo') !== false) {
$url_str = '雅虎搜索';
}else{
/*如果以上都找不到则使用来路域名并截取字数*/
if (strlen($url)>5) $url_str=substr($url,0,10) . '...';
}
return $url_str;
}
?>
<script src="layui/layui.js"></script>//这里需要引入
<link rel="stylesheet" type="text/css" href="layui/css/layui.css">//这个也需要引入
<?php if(get_referer()){?>
<script>
var popNotice = function() {
//获取用户授权状态
if (Notification.permission == "granted") {
var notification = new Notification("欢迎来自<?php echo get_referer();?>的朋友", {
//很明显这是正文
body: '若当前文章未能解决您的问题,您可以先尝试站内搜索,当然也可以给我留言喔(^_^)!',
//这是图标
icon: '<blockquote>//ws3.sinaimg.cn/large/005BYqpgly1fu080nvzr9j308c08cajy.jpg'
});
//消息被点击事件
notification.onclick = function() {
/*window.open("<?php echo $_SERVER['HTTP_REFERER'];?>");*/
};
//消息被关闭事件
notification.onclose= function() {
notification.close();
};
//消息出现错误事件
notification.onerror= function() {
alert('上帝也不知道发生了什么');
notification.close();
};
}
};
if (window.Notification) {
if (Notification.permission == "granted") {
popNotice();
}else if( Notification.permission != "denied"){
Notification.requestPermission(function (permission) {
popNotice();
});
}
} else {
echo_layer();
}
function echo_layer(){
layui.define(['layer', 'form'], function(exports){
var layer = layui.layer
,form = layui.form;
layer.open({
title: '<i class="layui-icon layui-icon-face-smile" style="color: #1E9FFF;"></i> 欢迎来自<?php echo get_referer();?>的朋友'
,content: '<i class="layui-icon layui-icon-group" style="color: green;"></i>若当前文章未能解决您的问题,您可以先尝试站内搜索,当然也可以给我留言喔(^_^)!'
,offset: 'rb'
,time:5000
,anim:2
,moveOut: true
,maxmin: true
,shade: 0
,btn: ['确认', '关闭']
,yes: function(index, layero){
/*window.open("<?php echo $_SERVER['HTTP_REFERER'];?>");*/
}
,btn2: function(index, layero){
}
,cancel: function(){
}
});
exports('index', {});
});
}
Notification.requestPermission().then(function(result) {
if (result === 'denied') {
echo_layer();
console.log('许可不获批准。允许重试');
return;
}
if (result === 'default') {
echo_layer();
console.log('许可请求被驳回。');
return;
}
});
</script>
<?php }?>
中间用到的layui.js和layui.css打包好了里面有好几个文件自己找一下emlog如何引入这个?看下面
1、先把<?php function get_referer($referers=''){.....}?>整段函数复制到module.php
2、然后去header.php引入layui.js和layui.css
3、之后再把<?php if(get_referer()){?>....<?php }?>整段代码放到footer.php即可
4、最后使用搜索引擎或者友情链接进行测试来路测试
**** Hidden Message *****
页:
[1]