我想根据用户是否在移动设备上(小于768px)或更大来echo
部分代码。
我做了以下事情:
<?php
if ( is_home() ) {
?>
<script type="text/javascript">
if ($(window).width() < 768) {
document.write("<?php echo my_shortcode("[mobile-slider]"); ?>");
} else {
document.write("<?php echo my_shortcode("[desktop-slider]"); ?>");
}
</script>
<?php
} else {
//do the stuff for the other pages
} ?>
但现在当主页呈现时会显示"); } else { document.write("
,然后显示主页滑块,然后显示"); }
。知道为什么吗?
JS错误
SyntaxError:unterminated string literal
文件撰写('
HTML输出 - 似乎是在添加换行符,我认为这会破坏脚本?
<script type="text/javascript">
if ($(window).width() < 768) {
document.write("
<!--slider-->
答案 0 :(得分:0)
"<?php echo my_shortcode("[mobile-slider]"); ?>"
改变
"<?php echo my_shortcode('[mobile-slider]'); ?>"
^ ^ // changed quotes here
或转义引号
"<?php echo my_shortcode(\"[mobile-slider]\"); ?>"
答案 1 :(得分:0)
试试这个:
document.write(<?php echo "\"[mobile-slider]\""; ?>);
答案 2 :(得分:0)
你的引言肯定是关闭的,正如其他人提到的那样,你的内部引号必须与外部引号不同,或者被转义。
您是否可以在主文档中运行您的php函数(在javascript之外),然后选择使用javascript显示/隐藏/更改其内容?
如果不可能,请尝试直接调用您的函数,而不是通过do_shortcode挂钩。
作为最后的替代方案,您可能需要在此处使用ajax调用。我不知道您能够按照您尝试的方式拨打短码。