在放大器页面wordpress中禁用脚本

时间:2016-10-09 18:04:31

标签: wordpress

我的放大器页面有错误 此代码插入插件ajax-hits-counter:

<script type="text/javascript"><![CDATA[function ahc_getXmlHttp(){var e;try{e=new ActiveXObject("Msxml2.XMLHTTP")}catch(t){try{e=new ActiveXObject("Microsoft.XMLHTTP")}catch(n){e=false}}if(!e&&typeof XMLHttpRequest!="undefined"){e=new XMLHttpRequest}return e};var ahc_xmlhttp=ahc_getXmlHttp();ahc_xmlhttp.open("GET", "https://example.org/wp-content/plugins/ajax-hits-counte5r/increment-hits.rapid.php?post_id=547754&t="+(parseInt(new Date().getTime()))+"&r="+(parseInt(Math.random()*100000)));ahc_xmlhttp.send(null);]]></script>

AMP验证器写道:标签&#39;脚本&#39;除特定形式外,不允许使用。

这里插入脚本函数:

   public function appendScript( $content )
{
    global $post;

    if( is_single() || is_page() ) 
    {
        if( $this->getOption('use_rapid_incrementer')==1 )          // use rapid incrementer
        {
            $incrementer_url = plugin_dir_url( __FILE__ ).'increment-hits.rapid.php?post_id='.$post->ID.'&t=';
        }
        else                                                // use simple incrementer
        {
            $incrementer_url = admin_url( 'admin-ajax.php' ).'?action='.$this->plugin_alias.'-increment&post_id='.$post->ID.'&t=';
        }

        $content .=
            '<script type="text/javascript">'.
                'function ahc_getXmlHttp(){var e;try{e=new ActiveXObject("Msxml2.XMLHTTP")}catch(t){try{e=new ActiveXObject("Microsoft.XMLHTTP")}catch(n){e=false}}if(!e&&typeof XMLHttpRequest!="undefined"){e=new XMLHttpRequest}return e};'.
                'var ahc_xmlhttp=ahc_getXmlHttp();'.
                'ahc_xmlhttp.open('.
                    '"GET", "'.$incrementer_url.'"+(parseInt(new Date().getTime()))+"&r="+(parseInt(Math.random()*100000))'.
                    ');'.
                'ahc_xmlhttp.send(null);'.
            '</script>';
    }

    return $content;
}

如何从AMP页面中删除此脚本?

2 个答案:

答案 0 :(得分:2)

这是一个解决方案。

  1. 您可以使用wordpress插件&#39;我的自定义插入脚本 功能&#39; https://wordpress.org/plugins/my-custom-functions/

  2. 然后转到AMPforWP插件的插件管理器设置(假设 你安装了ampforwp.com的AMPforWP插件。

  3. 您可以在此处禁用我的自定义功能插件 AMP页面。

  4. AMPforWP&#39; s插件管理器页面截图:https://i.imgur.com/JIypHQsg.jpg。当我尝试在我的自定义函数插件插入的AMP页面上禁用脚本时,它对我有用。

答案 1 :(得分:1)

如果您正在使用Wordpress并遇到此问题,

Google搜索控制台在我的一些Wordpress博客页面上引发了错误。 Google无法为我的Blog索引我的AMP页面。错误是某些自定义JavaScript和CSS已注入AMP页面。经过调查,我发现W3 Total缓存正在将缩小的JS(JavaScript)和CSS(级联样式表)链接注入页面。

搜索控制台中显示错误:

不允许使用自定义JavaScript

除列入白名单的字体提供程序外,不支持外部样式表。

为什么会出现此错误?

好吧,AMP页面应该是轻量级的,以便在速度较慢的移动设备上加载速度非常快。因此,您的AMP页面中应该没有javaScript或CSS。每当Google漫游器发现它时,它都会引发错误。

如何解决?

对于W3 Total Cache,您需要激活AMP扩展。这将从AMP页面中删除所有自定义JS和CSS。转到您的站点“管理控制台”-“性能”-“扩展”并激活AMP。该扩展内置W3 Total Cache。您只需要激活它即可。

这里有一个逐步的教程:https://josephkhan.me/custom-javascript-is-not-allowed-amp/

以下是Youtube视频,其中显示了解决此问题的步骤:https://youtu.be/Luy1P1g7BEc