在JavaScript中显示变量

Display variable inside JavaScript

本文关键字:变量 显示 JavaScript      更新时间:2023-09-26

我想用变量更改脚本中的超链接。这是FB SDK,我想用用户在我的网站上选择的语言显示SDK。

变量是{$lang_fb},如果我在普通php中使用它,它将返回正确的结果(此处:en_US)。

如果在纯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>

导致页面中的代码相同

我能做什么?

如果您在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>

如果您不共享更多代码,我们将无法查看发生了什么。

解决方案:

 js.src = "//connect.facebook.net/{/literal}{$lang_fb}{literal}/sdk.js#xfbml=1&version=v2.5&appId=1234567890";

谢谢你的帮助!!!

由于您使用的是与PHP无关的文件扩展名,因此需要设置PHP来处理此扩展名。

对于apache,您可以使用文件.htaccess:来完成此操作

AddHandler application/x-httpd-php .tpl

当然,你还需要require——创建{$lang_fb}的Facebook SDK。

$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>