Не могу передать переменную php в javascript в Eclipse IDE

Мне нужно инициализировать некоторую переменную js, передав переменную php <some javascript>.js файл, в моем PHP-проекте под Eclipe Luna IDE (PDT)

Когда я пытаюсь сделать:

if (typeof strPreviewImg == 'undefined') {
strPreviewImg = <?php echo(plugin_dir_url( __FILE__ )."images/vpreview_center.png"); ?>;
}

У меня есть следующие ошибки от Eclipse:

Несколько маркеров на этой линии
— Синтаксическая ошибка, вставьте «: Выражение» для завершения Выражения
— Синтаксическая ошибка на токене «<«, недопустимое выражение
— Синтаксическая ошибка на токенах, удалите эти токены

Когда я пытаюсь использовать кавычки:

if (typeof strPreviewImg == 'undefined') {
strPreviewImg = "<?php echo(plugin_dir_url( __FILE__ ).\"images/vpreview_center.png\"); ?>";
}

Целое выражение php передается в виде строки в мой HTML-код:

<video poster="<?php echo(plugin_dir_url( __FILE__ ).'images/vpreview_center.png)'; ?>">

Итак, я делаю что-то не так или есть какая-то проблема с Eclipse PDT?

Спасибо

0

Решение

я вычел из вашего использования plugins_dir_url() что вы используете WordPress.

в WordPress, после использования wp_enqueue_script() Чтобы зарегистрировать дескриптор скрипта, вы можете «локализовать» данные, чтобы они были доступны глобально на стороне клиента.

с WordPress / PHP:

<?php
$args = array(
'var1'  =>  'value 1',
'var2'  =>  'value 2'
);
wp_localize_script( 'your_handle', 'your_cdata', $args );
?>

результаты в cdata в вашем документе <head>

<head>
<script type='text/javascript'>
/* <;![CDATA[ */
var your_cdata = {"var1":"value 1","var2":"value 2"};
/* ]]> */
</script>
</head>

тогда ваш javascript может использовать:

alert(your_cdata.var1);
alert(your_cdata.var2);

ПО ВЫБОРУ Вы можете использовать PHP для обслуживания файлов Javascript, установив URL-адрес вашего src в файл PHP:

<script type="text/javascript" src="url_to_your_php_file.php" /></script>

или с переменными $ _GET

<script type="text/javascript" src="url_to_your_php_file.php?var1=value1" /></script>

затем в «your_php_file.php»:

<?php
header( 'content-type: text/javascript' );
// possible database query here using $_GET[$var1]
$value = 'some value';
?>
function name() {
var example1 = '<?php echo '"' . $value . '"'; ?>';
var example2 = '<?php echo '"some other data"'; ?>';
alert( example1 + ' / ' + example2 );
}
<?php
// and even do further includes to additional files (php, js, etc)
@include 'local_path_to_some_other_file.js';
exit;
?>

НАКОНЕЦ Вы можете скопировать пример WordPress самостоятельно:

<head>
<script type='text/javascript'>
/* <![CDATA[ */
var your_cdata = {
"var1":<?php echo '"value 1"'; ?>,
"var2":<?php echo '"value 2"'; ?>
};
/* ]]> */
</script>

обратите внимание на использование одинарных кавычек, заключающих двойные кавычки. это делает двойные кавычки частью вывода.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector