4

我只是一个学习者,对javascript和jquery一无所知。我想添加一个 adblock 检测器脚本。我发现的是这段代码,它给出了一个令人讨厌的警报消息。我想要的是提供一条 ajaxed 消息,而不是一条弹出屏幕的消息。

<script type="text/javascript">
function _enabled() {
    alert('Hey Dude!!! You are using Adblock on this site? Please disable Adblock or Any other plugin blocking ads. Its the only way we cover the cost of the Servers and Website. Click OK to continue what you were doing');
}
function _disabled() {
    alert('not detected');
}
var _abdDetectedFnc = '_enabled';
var _abdNotDetectedFnc = 'disabled';
</script>
<script type="text/javascript" src="http://www.adblockdetector.com/script.php"></script>

替换这个代码你能帮我用这个代码的替代品吗?

{
        alert('Hey Dude!!! You are using Adblock on this site? Please disable Adblock or Any other plugin blocking ads. Its the only way we cover the cost of the Servers and Website. Click OK to continue what you were doing');
    }

我找到了一些关于使用 jquery 或 jquery-ui 获取它的解决方案,但不知道在此处放置什么并替换代码。我尝试了来自http://m0006.gamecopyworld.com/games/gcw_notice.shtml的代码示例,它提供了一个友好的 Adblock Detect 消息。但它根本不起作用。只有此警报消息在我的网站上有效。

4

4 回答 4

4

作为一个非常快速的替代方案,您可以使用 jQuery-ui 对话框看起来更好一些(正如 Ricky Baby 所说)

您还需要在页面中包含 jQuery 和 jQuery-ui 库。这些可以从http://jquery.com/download/http://jqueryui.com/download/下载,如果你还没有的话。

您可以将“嘿,伙计……等”文本更改为您喜欢的任何内容

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/ui-lightness/jquery-ui.css" type="text/css" media="all" />
</head>
<body style='height: 100%;'>
<script type="text/javascript">
function _enabled() 
{
    var html = "<div>Adbloc detected</div>";

    var diag = $(html).dialog(
    {
        autoOpen: true,
        modal: true,
        close: function() { $(this).empty().remove(); },
        buttons: 
        {
            "Close": function() { $(this).dialog("close"); }
        }
    });
}
function _disabled() 
{
    var html = "<div>Adbloc NOT detected</div>";

    var diag = $(html).dialog(
    {
        autoOpen: true,
        modal: true,
        close: function() { $(this).empty().remove(); },
        buttons: 
        {
            "Close": function() { $(this).dialog("close"); }
        }
    });
}
var _abdDetectedFnc = '_enabled';
var _abdNotDetectedFnc = '_disabled';
</script>
<script type="text/javascript" src="http://www.adblockdetector.com/script.php"></script>
</body>
</html>

或者,如果您根本不想弹出消息,您可以在屏幕底部放一条消息

<div id='adBlockDetected' style='position: fixed; bottom: 20px; left: 0px; width: 100%; display: none;' >Hey dide .... etc </div>

然后在 _enabled() 函数中

$("#adBlockDetected").css({display: "block" });
于 2013-02-05T09:07:12.387 回答
2

看到这个问题:

Adblock 检测问题

在底部,他通过设置 html 属性将他的消息设置为显示在一个 div(他称之为 #Ad-One )中。

于 2013-02-05T08:52:54.617 回答
1

如果您想使用 JQuery-ui,可以使用对话框选项使消息框更漂亮,请参阅:http: //jqueryui.com/dialog/

但是,您也混淆了您的术语 - AJAX - 是一个“品牌”名称,用于使用 XMLHTTP 对象和相关技术从远程服务器请求数据。

于 2013-02-05T08:52:19.717 回答
0

如果您只需要“漂亮”的警报,那么 jQuery UI 就有点过头了。我会选择 Apprise 之类的东西:http: //thrivingkings.com/read/Apprise-v2-The-new-and-improved-attractive-alert-alternative-for-jQuery

只使用默认设置:

<!-- added to head -->
<link href="path_to_css/apprise-v2.min.css" rel="stylesheet" type="text/css" />

<script src="path_to_jquery"></script>
<script src="path_to_scripts/apprise-v2.min.js"></script>
<script>

    $(function(){
        Apprise('hi there');
    });

</script>

给你一个漂亮的警报信息:

在此处输入图像描述

当然,我也很好奇你想在这里实现什么:

<script type="text/javascript" src="http://www.adblockdetector.com/script.php"></script>

除非那个 PHP 页面实际上是一个 JavaScript 文件,否则你不能这样做。该src属性需要指向一个有效且可寻址的 JavaScript 文件。

于 2013-02-05T09:01:05.407 回答