在 WooCommerce Checkout 上禁用 Chrome 自动完成/下拉建议

问题描述

我试图在结账时为我的客户禁用 Chromes 自动填充/下拉建议。我有一个地址验证工具,但客户仍在使用 Chrome 下拉建议,有时,街道名称和其他详细信息被遗漏,所以我不得不手动联系客户以获取信息。

我尝试了以下代码删除帐单地址的自动完成功能,因为文本是输入类型,但没有成功。

add_filter( 'woocommerce_form_field','change_autofill',1,1 );

function change_autofill( $field) {
    
    $agent = $_SERVER['HTTP_USER_AGENT'];
    
    if (strpos($agent,'Firefox') !== false) {
        $field = str_replace('autocomplete="text"','autocomplete="off"',$field);
        return $field;
    }   
    else {
        $field = str_replace('autocomplete="text"','autocomplete="none"',$field);
        return $field;
    }      
    
}

解决方法

下面使用此处提供的属性的解决方案

https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete

/* Disable autofill address */

add_filter( 'woocommerce_form_field','change_autofill',1,1 );

function change_autofill( $field) {
    
    $agent = $_SERVER['HTTP_USER_AGENT'];
    
    if (strpos($agent,'Firefox') !== false) {
        $field = str_replace('autocomplete="address-line1"','autocomplete="off"',$field);
        return $field;
    }   
    else {
        $field = str_replace('autocomplete="address-line1"','autocomplete="none"',$field);
        return $field;
    }      
    
}