请看看下面的代码!它的工作完全除了PHP代码没有给出任何输出。当我插入php的输出时,脚本运行完美。
<script type="text/javascript">
function LoadVideoBar() {
var videoBar;
var barContainer = document.getElementById("videoBar");
var options = {
largeResultSet : false,
horizontal : true,
autoExecuteList : {
cycleTime : GSvideoBar.CYCLE_TIME_SHORT,
cycleMode : GSvideoBar.CYCLE_MODE_LINEAR,
executeList : [ "<?php $cat = get_the_category(); $cat = $cat[0]; echo $cat->cat_name; echo "-"; echo wp_title(); ?> "]
}
}
new GSvideoBar(
document.getElementById("videoBar"),
document.getElementById("videoPlayer"),
options
);
}
GSearch.setOnLoadCallback(LoadVideoBar);
当我替换php代码时
<?php $cat = get_the_category(); $cat = $cat[0]; echo $cat->cat_name; echo "-"; echo wp_title(); ?>
有一些文字,如:categoryname-title name
该脚本完美无缺。
有人可以帮我解决这个小问题......
非常感谢提前!
答案 0 :(得分:2)
如果您需要在两者之间传递数据。将PHP值放入隐藏字段。然后像使用条形容器一样阅读它
保存PHP的值:
<?php $cat = get_the_category(); $cat = $cat[0]; ?>
<input id="executeListValue" type="hidden"
value="<?php echo $cat->cat_name."-".wp_title();?>" >
在js中阅读:
var executeListValue = document.getElementById("executeListValue").value;
//...
autoExecuteList : {
cycleTime : GSvideoBar.CYCLE_TIME_SHORT,
cycleMode : GSvideoBar.CYCLE_MODE_LINEAR,
executeList : executeListValue
}
答案 1 :(得分:1)
如果更换php代码并且脚本工作正常意味着php在执行时出现了一些错误。你能不能试着看看html页面的源代码。这可能是因为发生了一些php错误而发生的错误消息字符串可能会对javascript产生一些语法错误。
尝试将php代码放在javascript标记之外,并查看从中生成的输出。
<?php
$cat = get_the_category();
$cat = $cat[0];
$output= $cat->cat_name."-".wp_title();
?>
然后尝试在javascript中打印输出。
executeList : [ "<?php print $output; ?>"]
}
通过这种方式你可以看到是否遇到任何php错误。
答案 2 :(得分:0)
将"-"
替换为Javascript代码中的'-'
行:
[ "<?php $cat = get_the_category(); $cat = $cat[0]; echo $cat->cat_name; echo "-"; echo wp_title(); ?> "]