由于换行符而导致的文档写入错误
Document.write errors because of line break?
<?php
if ( is_home() ) {
?>
<script type="text/javascript">
if ($(window).width() < 768) {
document.write("<?php echo do_shortcode("[mobile-slider]"); ?>");
} else {
document.write("<?php echo do_shortcode("[desktop-slider]"); ?>");
}
</script>
我的主页呈现并显示"); } else { document.write("
,然后是主页滑块,然后是"); }
。知道为什么吗?
JS错误
语法错误:未终止的字符串文本
document.write("
HTML 输出 - 似乎正在添加换行符,我认为这破坏了脚本?
<script type="text/javascript">
if ($(window).width() < 768) {
document.write("
<!--slider-->
即使document.write("
开盘后有换行符,我怎样才能让它仍然运行?
我也尝试了以下方法,但它仍然在屏幕上打印} else {
。
<script type="text/javascript">
if ($(window).width() < 768) {
<?php echo do_shortcode("[mobile-slider]"); ?>
} else {
<?php echo do_shortcode("[desktop-slider]"); ?>
}
</script>
好的,
所以我通过执行以下操作解决了这个问题。
使用 JS,如果屏幕宽度小于 768px,我将一个变量设置为 1。使用 PHP,我将检查该变量并相应地echo
。
完全不依赖PHP来生成滑块会更容易和更干净。
将容器元素放在您希望滑块在页面中显示的位置:
<div id="slider-ct"></div>
然后使用 JavaScript 生成滑块(当然,您可以将代码组织成模块,但这只是一个示例):
$(function () {
var $sliderCt = $('#slider-ct');
if ($(window).width() < 768) {
$sliderCt.html('mobile slider');
return;
}
$sliderCt.html('desktop slider');
});
这是解决方案:
<?php
$v1 = do_shortcode("[mobile-slider]");
$v2 = do_shortcode("[desktop-slider]");
function do_shortcode($va){
return "here i am:" . $va;
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
if ($(window).width() < 768) {
$('body').html("<?php echo $v1; ?>");
} else {
$('body').html("<?php echo $v1; ?>");
}
</script>
</head>
<body>
这行就是原因。
"<?php echo do_shortcode("[mobile-slider]"); ?>"
您需要转义解释器,或者您需要更改字符串组合以在某处使用 ' 代替 "。
相关文章:
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 文档就绪提供了错误的选择器高度
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 使用mongoose保存多个文档时的错误处理
- Rect.map():文档是否错误
- 如何防止加载外部资源,同时防止“在'文档'上执行'写入'失败”错误
- Meteor Update集合-未捕获错误:不允许.不受信任的代码只能通过ID更新文档.[403]
- Javascript错误文档.getElementById('x').style.display=
- Foundation 5可能的错误:未捕获类型错误:层必须是文档节点Foundation.min.js:8
- 未捕获的引用错误:未在Javascript(Chrome控制台)中定义文档
- 角度错误:[$rootScope:inprog]$已在文档上应用.单击()
- 在 javascript 中创建 xml 文档显示错误
- IE9 中的“Acecss 拒绝内容文档”错误与 goog.net.IFrameIO
- 未捕获的类型错误: $(..).文档窗体不是一个函数
- 附加子级-文档错误8
- 文档错误.gettelementbyid: Uncaught TypeError: undefined不是一个函数
- TDD文档错误:测试元素是否被添加到DOM
- 在IE中添加点击事件到窗口或文档错误
- 无法获取文档'错误- Javascript &Applescript