从WordPress中的脚本标记中删除“type”属性

时间:2018-03-28 07:06:59

标签: wordpress-theming html-validation

我正在使用WordPress网站,这些警告都出现在每一页上,有没有解决方法。

  

警告:JavaScript资源不需要type属性。 <script type="text/javascript">

4 个答案:

答案 0 :(得分:2)

将以下代码添加到主题的functions.php

add_filter('script_loader_tag', 'clean_script_tag');
  function clean_script_tag($input) {
  $input = str_replace("type='text/javascript' ", '', $input);
  return str_replace("'", '"', $input);
}

对于插件加载的脚本,这会将<script type="text/javascript">更改为<script>

然后在主题标题中将<script type="text/javascript">更改为<script>一个页脚php文件。

答案 1 :(得分:0)

将以下代码添加到主题的functions.php

add_action( 'template_redirect', '8798saf_remove_template_redirect', 10, 2);

function 8798saf_remove_template_redirect(){
  ob_start( function( $buffer ){
    $buffer = str_replace( array( 
        '<script type="text/javascript">',
        "<script type='text/javascript'>", 
        "<script type='text/javascript' src=",
        '<script type="text/javascript" src=',
        '<style type="text/css">', 
        "' type='text/css' media=", 
        '<style type="text/css" media',
        "' type='text/css'>"
    ), 
    array(
        '<script>', 
        "<script>", 
        "<script src=",
        '<script src=',
        '<style>', 
        "' media=", 
        '<style media',
        "' >"
    ), $buffer );

    return $buffer;
  });
};

这会将<script type="text/javascript">更改为<script>,并将<style type="text/css">更改为<style>

答案 2 :(得分:0)

从WordPress 5.3开始,您可以在HTML5的add_theme_support中添加“样式”和“脚本”以删除类型属性。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
  
  <div class="container">
    <input type="text" class="form-control" />
    
    <br/><br/>
    
    <a href="javascript:void(0);" class="link">Link</a>
    
    <br/><br/>
    
    <button class="button"> Submit</button>
    
  </div>

</body>
</html>

答案 3 :(得分:0)

我添加了两件事。这对我有用:

#one for JS mime-type
add_action( 'template_redirect', function(){
  ob_start( function( $buffer ){
       $buffer = str_replace( array( 'type="text/javascript"', "type='text/javascript'" ), '', $buffer );        
       return $buffer;
    });
});
#one for CSS-Mime-Type
add_action( 'template_redirect', function(){
    ob_start( function( $buffer ){
        $buffer = str_replace( array( 'type="text/css"', "type='text/css'" ), '', $buffer );        
        return $buffer;
    });
});

我知道您可以在一个函数中同时完成这两项工作,但是您可以在此处自行决定所需的内容(JS或CSS或两者兼有)