Javascript 仅在以管理员身份登录时工作

Posted

技术标签:

【中文标题】Javascript 仅在以管理员身份登录时工作【英文标题】:Javascript working only when logged in as admin 【发布时间】:2021-11-07 12:03:08 【问题描述】:

我添加了以下脚本来更改 elementor 表单的日期格式

<script>
jQuery(document).ready(function () 
    setTimeout( function()
        jQuery('.flatpickr-input').each(function() flatpickr( jQuery(this)[0] ).set('dateFormat', 'm/d/Y'););
        jQuery('.elementor-date-field').removeAttr('pattern');
    , 1000 );
);
</script>

以及以下限制过去日期的功能

// Validate the date field min value from today.
add_action( 'elementor_pro/forms/validation/date', function( $field, $record, $ajax_handler ) 

    // make sure ts the correct date field
    if ( 'YOUR_FIELD_ID' === $field['id'] ) 
        return;
    

    $min_allowed_date = strtotime( 'today' );
    


    $form_date = strtotime( $field['value'] );
    if ( $min_allowed_date > $form_date ) 
        $ajax_handler->add_error( $field['id'], 'The Minimum allowed date is, ' . date( 'm/d/Y', $min_allowed_date ) );
    
    
, 10, 3 );

只有当我以管理员身份登录时它才有效。但是当我像普通网站访问者一样从隐身窗口进行测试时,javascript 无法正常工作。

请帮我解决这个问题

【问题讨论】:

没登录的时候有没有检查jquery是否加了? 【参考方案1】:

我把javascript改成

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
      jQuery( document ).ready( function( jQuery )
            setTimeout( function()
                  jQuery('.flatpickr-input').each(function() flatpickr( $(this)[0] ).set('dateFormat', 'm/d/Y'););
            , 1000 );
      );
 </script>

现在它可以正常工作了 谢谢

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于Javascript 仅在以管理员身份登录时工作的主要内容,如果未能解决你的问题,请参考以下文章

身份验证问题 Laravel 5.2 登录仅在本地工作

api/issues/search 响应仅在登录时具有“作者”字段

无法在以管理员身份运行的 PowerShell 中访问网络驱动器

schtasks 参数禁用“用户登录时执行”

Rundeck:http 错误 500:以管​​理员身份登录时

如何以非管理员身份运行 dbms_output 的功能?