Я использую Bitbucket и настроен Scrutinizer для анализа кода при загрузке. Он жалуется на то, что переменная не была объявлена, и это наносит ущерб классификации кода.
Переменная txtVars, кажется, никогда не объявляется. Если это глобальный,
рассмотрите возможность добавления / ** global: txtVars * / comment.
Это имеет смысл для меня, так как я использую переменную в моем jQuery без ее объявления каким-либо образом, кроме как в моем файле WordPress functions.php:
txtVars
вводится со следующим PHP:
wp_enqueue_script( 'my-script',
MY_URL . 'assets/js/public.js',
array('jquery', 'heartbeat'),
MY_VERSION,
true
);
$vars = array(
'confirm_submit' => __( 'Submit', 'textdomain' ),
'confirm_cancel' => __( 'Cancel', 'textdomain' )
);
wp_localize_script( 'my-script', 'txtVars', $vars );
Это позволяет мне использовать txtVars
в скрипте jQuery:
confirm(txtVars.confirm_submit);
Я пытался объявить txtVars
несколько разных способов в jQuery, но это не помогает, выдает ошибку, или txtVars
заканчивается пустым.
Есть ли способ объявить эту переменную в jQuery для удовлетворения средств проверки кода, которые ожидают, что переменные будут объявлены?
Я считаю, что сообщение об ошибке говорит вам более или менее о том, что должно произойти, но иногда детали (например, размещение в файле) могут быть неуловимыми.
Чтобы решить это, на Топ вашего файла сценария, даже до вашего jQuery, добавьте этот комментарий:
/** global: txtVars */
Других решений пока нет …