【发布时间】:2017-10-14 05:13:27
【问题描述】:
我的网站是用 PHP 实现的。它打印一些通知,但它们出现在 HTML 元素属性中。我为我的网站使用 Smarty 模板,并在元素属性中引用变量:
<input autocomplete="off" name="peter" id="peter" type="text" data-array-values="{$blaa->test|json_encode|escape}" placeholder="Peter" data-validators='["prefixedNotInArray","matchPattern"]' required data-pattern="[0-9A-Z]{'{'}2,8{'}'}" data-abide-validator="multipleValidate" value="{$peter->id|escape}" />
对象 $blaa 不存在。因此它导致一个通知:
<input autocomplete="off" name="peter" id="peter" type="text" data-array-values="<br />
<b>Notice</b>: Undefined index: blaa in <b>/var/www/myprogram/smarty/libs/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code</b> on line <b>217</b><br />
<br />
<b>Notice</b>: Trying to get property of non-object in <b>/var/www/myprogram/smarty/libs/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code</b> on line <b>217</b><br />
<br />
<b>Notice</b>: Trying to get property of non-object in <b>/var/www/myprogram/smarty/libs/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code</b> on line <b>217</b><br />
null" placeholder="Peter" data-validators='["prefixedNotInArray","matchPattern"]' required data-pattern="[0-9A-Z]{2,8}" data-abide-validator="multipleValidate" value="My ID" />
整个元素是表单元素的字段集的一部分,被多个 div 元素包围。
Firefox 53.0.2 不会自动显示它们。我只是通过使用 Ctrl+U 查看原始 HTML 网站才找到它们的。
我必须使用开发者工具或插件来解析网站的通知吗?
【问题讨论】:
-
这是正常行为,firefox 会呈现您的 HTML 输入,并且当您将中断的对象存储在浏览器不会在视图中呈现
data-array-values的属性中时,您将看不到屏幕上的错误,而不是to test-mental only将您的对象存储在value属性中,您会发现它; -
您可以打开错误日志并查看所有发生的错误和通知。
-
好吧,对象不应该是值,我的问题是如何使用 Firefox 轻松调试网站,以便它能够识别此类通知。
-
我添加了输出。