每隔几秒钟 Dreamweaver 就会弹出一个错误对话框:
TagEdit.setOuterHTML 中出现错误
无法解析 newOuterHTML 的以下值:
后面是当前文档的片段。
相关部分如下:
<?php
foreach ($pictData['types'] as $type) { ?>
<source media="(min-width: <?php echo $size; ?>px)"
sizes=""
srcset="<?php echo $pictData['names'][$type][$size]; ?>"
type="<?php echo $type; ?>">
<?php
} ?>
这是生成<picture>
元素源函数的一部分。它不完整(所以我不知道代码实际运行得如何,可能存在我没看到的错误),因为 Dreamweaver 不断抱怨……某事,这非常难以处理。我猜是代码结构导致 Dreamweaver 无法解析它。但我不确定原因。
其他文本编辑器没有抱怨,所以至少这是件好事。但我还是想知道 Dreamweaver 为什么会出现这个问题,以及是否有办法修复它。
答案1
我认为问题可能是你没有通过 media= 部分转义 () - 另外,你也可以使用 ' 而不是 ",这样 () 就不会被解释为 php 结构,而是被解释为文本数据。
我不知道为什么,但对我来说,当我这样写时,它的可读性要强得多:
<?php
foreach ($type as $pictData['types']) {
echo "<source media='(min-width: ".$size."px)'";
echo "sizes=''";
echo "srcset='".$pictData['names'][$type][$size]."'";
echo "type='".$type."'>";
}
?>
您还应该看一下 foreach 行,我认为应该反过来:
foreach ($pictData['types'] as $type) {
代替 ...
foreach ($type as $pictData['types']) {