javascript – 未知脚本在html body关闭标记之前预先添加

从今天早上起,我发现一些未知的脚本正在“body”关闭标记之前,脚本是:

<script> var addthis_config = {"pubid":"ra-554ac5c71847b3c2"}; </script><script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-554ac5c71847b3c2"></script>
<script> if (addthis && addthis.layers) { addthis.layers({'share':{'mobile':false}});}</script>

我没有在网站上添加这段代码.我正在寻找这个的根本原因.但直到这一刻我找不到删除此脚本的解决方案.到目前为止我做了什么/观察到的:

删除了“body”关闭标记:没有脚本

试图添加一个html文件(带基本标签)index.html文件:发现脚本是在正文关闭之前注入的.

脚本只能在主页上看到.

文件上传到具有不同域的不同主机:无脚本

Web服务器是Apache,.htaccess的内容如下所示:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)mywebsite\.ae [NC]
RewriteRule ^(.*)$http://www.mywebsite.org/$1 [R,L]

RewriteRule ^(.*)/$/$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

该网站托管亚马逊网络服务.以前有没有人有过这样的经历?

解决方法:

http://www.addthis.com/academy/the-addthis_config-variable/

您正在查看的页面正在使用addThis,或者第三方脚本正在添加它.

如果这是您的页面,并且您想要找到添加它的页面,请将此代码放在页面顶部

document.createElement = (function () {
   var _realCE = document.createElement;
   return function (name,options) {
      if (name.toLowerCase() === 'script') {
         try {
            throw "script added to page";
         }
         catch(e) {
            console.warn(e.message);
            console.warn(e.stack);
         }
      }
      return _realCE.apply(document,arguments);
   }
})();

只要脚本创建了另一个脚本标记,它就会吐出一个堆栈跟踪.这应该足以让你弄清楚哪个脚本正在为你做这件事.

上一篇:原生js实现懒加载并节流


下一篇:VSCode编辑器使用技巧:快捷输入HTML代码