删除附加到ajax请求返回的结果的自动生成广告脚本

时间:2013-09-25 08:13:12

标签: jquery ajax advertisement

我的网站托管在somee.com上。

我使用JQuery发送ajax请求。

在每个ajax请求中,返回的结果都附加了以下文本。

"<!--SCRIPT GENERATED BY SERVER! PLEASE REMOVE--> 
<center><a href="http://somee.com">Web hosting by Somee.com</a></center> </textarea>
</xml></script></noframes></noscript></object></layer></style></title></applet> 
<script language="JavaScript" 
src="http://ads.mgmt.somee.com/serveimages/ad2/WholeInsert4.js"></script>
<!--SCRIPT GENERATED BY SERVER! PLEASE REMOVE-->"

例如,如果ajax调用成功,服务器将返回以下字符串:“无效的用户名和/或密码”

然后我得到以下字符串:

"Invalid Username and/or Password <!--SCRIPT GENERATED BY SERVER! PLEASE REMOVE-->
 <center><a href="http://somee.com">Web hosting by Somee.com</a></center> </textarea>
</xml></script></noframes></noscript></object></layer></style></title></applet> 
<script language="JavaScript" 
src="http://ads.mgmt.somee.com/serveimages/ad2/WholeInsert4.js"></script> 
<!--SCRIPT GENERATED BY SERVER! PLEASE REMOVE-->"

现在我将此字符串与另一个字符串进行比较,因此比较返回false,因为此字符串包含附加文本。

因此,我的网站无法正常运作。

编辑

我算了一下。字符并尝试使用.slice(0, -no. of characters in advertisement)。如果服务器返回字符串,这很好。但是当服务器返回'JSON'时不起作用,因为在ajax调用中我们必须声明dataType:'json'并且在添加广告脚本之后结果不再是json对象。所以,没有调用Success,因此我没有得到输出。

所以,现在我的问题是:如果服务器在AJAX调用上返回JSON + String,在客户端我想delete the String part并且只获取JSON个对象这样AJAX调用就会成功返回而不是失败/错误。 (我知道附加字符串包含的字符数。)

9 个答案:

答案 0 :(得分:4)

@Kushi,我想如果你问这个问题,你首先要删除常规页面上的自动脚本而不回复任何帖子。你能告诉我你是怎么做到的吗?

谢谢

我只是想出来,所以我编辑我的答案给其他人寻找它。最后并没有那么糟糕:))

<script>
    $(document).ready(function () {
        $("div[style='opacity: 0.9; z-index: 2147483647; position: fixed; left: 0px; bottom: 0px; height: 65px; right: 0px; display: block; width: 100%; background-color: #202020; margin: 0px; padding: 0px;']").remove();
        $("div[style='margin: 0px; padding: 0px; left: 0px; width: 100%; height: 65px; right: 0px; bottom: 0px; display: block; position: fixed; z-index: 2147483647; opacity: 0.9; background-color: rgb(32, 32, 32);']").remove();
        $("div[onmouseover='S_ssac();']").remove();
        $("center").remove();
        $("div[style='height: 65px;']").remove();
    });
</script>

它对我有用:)

答案 1 :(得分:2)

然后不要使用datatype属性,而应该使用jQuery.parseJSON。

以下是示例:

$.ajax({
   url: "/members/GetAllFileNamesOfSelectedUser?SelectedUserName=" + $("#AllowedFriends").find(":selected").text(),
   //dataType: 'json',
   success: function (FileNamesUnparsed) {
       var FileNames = jQuery.parseJSON(FileNamesUnparsed.slice(0, -369));
       $(".item").remove();
       $.each(FileNames, function (key, value) {
           $('#fileName').append($('<div class="item"><span>' + FileNames[key] + '</span> <img id="imgDelete" title = "Delete" src = "../Images/delete.png" /> </div>'));

答案 2 :(得分:2)

为了删除somee.com的广告, 将代码存储到.js文件中(例如SomeeAdsRemover.js):

$(document).ready(function () {
    SomeeAdsRemover();
});

function SomeeAdsRemover() {
    $("center").each(function () {
        if ($(this).html() == '<a href="http://somee.com">Web hosting by Somee.com</a>') {
            $(this).next().remove();
            $(this).next().next().remove();
            $(this).next().next().next().remove();
            $(this).remove();

            return false;
        }
    });
}

然后,将以下链接添加到您的&lt; head&gt;标记:

<script src="Scripts/SomeeAdsRemover.js"></script>

答案 3 :(得分:1)

只需在您的ajax响应中添加唯一标识符。然后返回结果应为YOUR_DESIRED_RESULT +&#34; Uniqueidentifier&#34; +&#34;(Somee自动生成广告)
例如var retUrl =&#34; DESIRED_RESULT / Somee自动生成广告&#34;。
现在将结果与唯一标识符分开(此处为&#39; /&#39;) retUrl = retUrl.split(&#39; /&#39;)[0]; //这是你想要的输出; :)

答案 4 :(得分:1)

我只是用CSS隐藏了这个方块

center > a {
     display: none;
}

答案 5 :(得分:0)

您可以在结束页面添加此代码:

</html><noscript><title><style><layer><object><noscript>

答案 6 :(得分:0)

function SomeeAdsRemover() {
    $("center").each(function () {
        if ($(this).html() == '<a href="http://somee.com">Web hosting by Somee.com</a>') {
            $(this).next().remove();
            $(this).next().next().remove();
            $(this).next().next().next().remove();
            $(this).remove();
            return false;
        }
        $("div[style='opacity: 0.9; z-index: 2147483647; position: fixed; left: 0px; bottom: 0px; height: 65px; right: 0px; display: block; width: 100%; background-color: #202020; margin: 0px; padding: 0px;']").remove();
        $("div[style='position: fixed; z-index: 2147483647; left: 0px; bottom: 0px; height: 65px; right: 0px; display: block; width: 100%; background-color: transparent; margin: 0px; padding: 0px;']").remove();
        $("div[style='height: 65px;']").remove();
    });
}

somee.com remove ads

  

我删除“somee.com”div的代码。并删除代码“虚拟主机   通过somee.com“在上面。

答案 7 :(得分:0)

您可以将以下代码存储在所需的.js文件中(例如adsRemover.js):

$(document).ready(function () {
    adsRemover();
});

function adsRemover() {
    $('script[src="http://ads.mgmt.somee.com/serveimages/ad2/WholeInsert4.js"]').remove();
    $('script#last-script').nextAll('div').remove(); // last tag before </body>       
    $('center').filter(function () {
        return $(this).html() == '<a href="http://somee.com">Web hosting by Somee.com</a>';
    }).remove();
    setTimeout(function () {
        adsRemover()
    }, 500);
}

然后,在您的代码中添加以下链接:

<script src="adsRemover.js"></script>

答案 8 :(得分:0)

更新代码以删除Somee广告:

$(document).ready(function () {
    SomeeAdsRemover();
    adsRemover();
});

function SomeeAdsRemover() {
       $("center").each(function () {
        if ($(this).html() == '<a href="http://somee.com">Web hosting by Somee.com</a>') {
        $('script[src="http://ads.mgmt.somee.com/serveimages/ad2/WholeInsert4.js"]').remove();
        $('script#last-script').nextAll('div').remove(); // last tag before </body>   
        $(this).next().remove();
        $(this).next().next().remove();
        $(this).next().next().next().remove();
        $(this).remove();

        return false;
    }
});
}

function adsRemover() {
     $('body > div:last-child').remove();
   }

然后,将以下链接与其他Js一起添加到您的标签中:

<script src="Scripts/SomeeAdsRemover.js"></script>

http://www.cndesigns.somee.com/