*
Как видно из названия, возникает такой тип ошибки, когда вы, скорее всего, пытаетесь перебрать или найти значение из массива с не- существующий ключ.
Считаем, что вы пытаетесь показать каждую букву из $string
$string = 'ABCD';
for ($i=0, $len = strlen($string); $i <= $len; $i++){
echo "$string[$i] \n";
}
. Вышеприведенный пример сгенерирует ( онлайн-демонстрацию ):
A
B
C
D
Notice: Uninitialized string offset: 4 in XXX on line X
И, как только скрипт заканчивается эхом D
, вы получите ошибку, потому что внутри цикла for()
вы сказали PHP, чтобы показать вам от первого до пятого символа строки из 'ABCD'
Что, существует, но поскольку цикл начинает отсчитываться от 0
и эха D
к моменту достижения значения 4
, он выдает ошибку смещения.
Аналогичные ошибки:
Когда пользователь запрашивает страницу от Вашего сайта, страница HTML начинает передавать потоком к браузеру. Как только браузер встречается с тегом для внешнего изображения, сценария, файла CSS, и т.д., это начнет загружать тот файл одновременно.
при помещении сценариев внизу страницы они будут загружены в последний раз. Другими словами, содержимое HTML/structure/css/images Вашей страницы/приложения будет загружено сначала, и что-то может обнаружиться в браузере быстрее; Ваши пользователи не должны ожидать сценария, чтобы закончить загружать, прежде чем они будут видеть что-то в Вашем приложении.
Причина, почему страницы, которые имеют сценарии в верхней части страницы все еще, выигрывают, потому что это не столь важно как другие повышения производительности, которые могли быть сделаны.
Каждое правило взвешивается, таким образом, некоторые правила влияют на больше класса ySlow, чем другие.
я всегда помещал сценарии в нижнюю часть. Существует очень немного причин необходимости в сценариях наверху Вашей страницы. Единственная причина, о которой я могу думать, является Вами, нуждаются в Вашем JavaScript для выполнения сразу перед чем-либо еще на странице, которая довольно редка.
Иногда, у Вас нет выбора, кроме как помещать сценарии в определенное местоположение на странице. Однако при помещении сценариев внизу страницы браузер не прервет свой рендеринг для загрузки механизма JS для обработки сценария (который мог бы быть дорогостоящим, если у Вас есть циклы, работающие за большим количеством времен), и вероятно отобразит раннее представление страницы раньше.
Я не уверен, что это - проблема производительности (мог быть), но я был при представлении, данном Microsoft, и предъявитель сказал, что поисковые роботы иногда только читают первое x количество символов на веб-странице для индексации его. Так, если у Вас есть большая сумма сценариев, Ваше содержание не может быть достигнуто и индексировано правильно (и разряд страницы Вашего сайта не будет так же высок).
Код может сослаться на Объекты DOM, которые не инстанцировали, все же самая очевидная причина, о которой я могу думать.