Я хочу изменить гиперссылку внутри скрипта с переменной. Это FB SDK, я хочу отобразить SDK на языке, который пользователь выбрал на моем веб-сайте.
Переменная {$lang_fb}
и возвращает правильный результат (здесь: en_US), если я использую его в обычном php.
Если я использую переменную внутри скрипта на простой HTML-странице, результата нет.
Сценарий:
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/{$lang_fb}/sdk.js#xfbml=1&version=v2.5&appId=01234567890";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
<script>
приводит к идентичному коду на странице
Что я могу сделать?
Сопровождение:
js.src = "//connect.facebook.net/{/literal}{$lang_fb}{literal}/sdk.js#xfbml=1&version=v2.5&appId=1234567890";
Спасибо за вашу помощь!!!
Если вы используете PHP-скрипт, вам нужно поместить теги php или вывести строку.
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/<?php echo {$lang_fb} ?>/sdk.js#xfbml=1&version=v2.5&appId=01234567890";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/".{$lang_fb}."/sdk.js#xfbml=1&version=v2.5&appId=01234567890";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
Если вы не используете больше кода, мы не можем просмотреть, что произойдет.
Поскольку вы используете расширение файла, которое не связано с PHP, вам нужно настроить php для обработки этого расширения.
Для apache вы можете сделать это с файлом .htaccess
:
AddHandler application/x-httpd-php .tpl
Конечно, вы также должны require
в Facebook SDK, который создает {$lang_fb}
.
$lang_fb
является переменной php и не будет работать в javascript. Встраиваете ли вы свой тег скрипта в php файл? Если да, то вы можете просто использовать следующее:
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/"+<?php echo $lang_fb; ?>+"/sdk.js#xfbml=1&version=v2.5&appId=01234567890";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
"+<?php ... +"
создаст переменную javascript.