Jump to content
Sign in to follow this  
morgenshtern

Uncaught ReferenceError: hs is not defined

Recommended Posts

Ошибка возникает (через раз) только при включенной опции Включить Gzip сжатие JS файлов

 

Подозреваю что это из-за того, что страница грузится быстрее чем отрабатывает php скрипт минифаера

 

Предлагаю его выпилить из движка за ненадобностью. JS файлы итак идут минифицированые из коробки зачем их снова сжимать и тратить ресурсы и без того дохлого апача? Либо кешировать во временный js файл и отдавать его 

 

 

Share this post


Link to post
Share on other sites

DLE не запускает свои JS функции, раньше чем загрузятся файлы JS скрипты. Скорее всего какие то ошибки в шаблоне у вас. Или вы сами вручную вызываетe в шаблоне какие либо функции JS из состава DLE.

 

42 минуты назад, morgenshtern сказал:

Предлагаю его выпилить из движка за ненадобностью.

Если вам не нужно, можете не включать это.

 

43 минуты назад, morgenshtern сказал:

JS файлы итак идут минифицированые из коробки зачем их снова сжимать и тратить ресурсы и без того дохлого апача?

Не нужно путать минификацию и Gzip сжатие, это совершенно разные вещи. Gzip сжатие это архивирование, которое уменьшает минифицированный файл раз в пять.

44 минуты назад, morgenshtern сказал:

Либо кешировать во временный js файл и отдавать его 

Вообще то DLE так и работает, он не архивирует его каждый раз, а только один раз.

Share this post


Link to post
Share on other sites

Не знаю, у меня такая проблема или у всех, но решается она так

 

в файле main.php меняем код на

function strpos_arr($haystack, $needle) {
    if(!is_array($haystack)) $haystack = array($haystack);
    foreach($haystack as $what) {
        if(($pos = strpos($what, $needle))!==false) return true;
    }
    return false;
}
if (
strpos_arr($onload_scripts,"hs." ) OR 
strpos($tpl->result['content'].$tpl->copy_template, "hs.") !== false OR 
strpos($tpl->result['content'].$tpl->copy_template, "highslide") !== false
) {

Всему виной был код

...

var dle_search_value = '';

jQuery(function($){

hs.addSlideshow

...

Edited by morgenshtern

Share this post


Link to post
Share on other sites

Не может этот код быть виной проблемы. И проблема только у вас, больше ни у кого ее нет. Скорее всего теги в шаблоне main.tpl расположили неправильно, например тег {AJAX} идет до тега {jsfiles} или еще что.

Share this post


Link to post
Share on other sites

Тег AJAX на месте, тега jsfiles нет.

 

Я имел ввиду что в массив добавляется 

$onload_scripts[] = "hs.addSlideshow.....

Но highslide.js не подключается при этом

 

Но почему ошибка возникала через раз, это конечно загадка

Share this post


Link to post
Share on other sites

Идентичная проблема, + не работала выпадающее меню. Решил проблему заменой файла engine/skins/javascripts/application.js

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...