在JS中显示PHP变量

时间:2017-08-14 13:33:52

标签: javascript php jquery smarty

我今天花了很大一部分来解决这个问题。但不能。

基本上,我想在PHP页面中嵌入Youtube视频。 <script> // Load the IFrame Player API code asynchronously. var tag = document.createElement('script'); tag.src = "https://www.youtube.com/player_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('ytplayer', { height: '460', width: '760', videoId: '<? echo $var;>' }); } </script> 变量在PHP页面中定义,但我不能让JS显示变量。

$var

//when the page is load and the window resize detect if it's a smallscreen var smallscreen = true; $(window).on("resize load", function() { if ($(window).width() > 991) { smallscreen = false; } else { smallscreen = true; }; //if it's not a small screen activate the scrolling if (smallscreen == false) { $.fn.followTo = function ( pos ) { var $this = this, $window = $(window); $window.scroll(function(e){ if ($window.scrollTop() > pos) { $this.css({ position: 'absolute', top: pos }); } else { $this.css({ position: 'fixed', top: 180 }); }; }); }; $('#checkout_validation').followTo(400); } else { $.fn.followTo = function ( pos ) { var $this = this, $window = $(window); $window.on("resize scroll load", function(e){ if ($window.scrollTop() > pos) { $this.css({ position: 'initial', width: '100%', top: 0 }); } else { $this.css({ position: 'initial', width: '100%', top: 0 }); }; }); }; $('#checkout_validation').followTo(0); }; }); 变量在PHP文件中全局存在,但不起作用。我还在JS中声明了一个变量,没有成功。我做错了什么?

修改

由于它被标记为重复,请让我解释一下。我没有理解如何输出PHP变量的问题,无论我如何尝试,它都无法正常工作。

1 个答案:

答案 0 :(得分:0)

使用Smarty作为模板引擎,您通常必须将脚本代码放在{literal}标记内,因此要在文字标记内执行实际的php代码,您必须将php代码放在文字之外,所以你可以逃避脚本中的所有{ }或者为你的回声打破文字,不是很漂亮但应该有效:videoId: '{/literal}{$var}{literal}'