Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: выполнение функции после полной загрузки страницы

Привет всем.
Необходимо выполнить следующую задачу:
Нужно чтобы после ПОЛНОЙ загрузки страницы (сам html, картинки) выполнялась функция.

Как это можно реализовать?
Ответ: У меня похожая проблема. На странице есть <object>...</object>, в который подгружается pdf-ка. Я хочу использовать функцию
window.onload=function(){
/* ваш код */
}
чтоб в тулбаре принудительно вызвать click на кнопке Toggle SideBar
Но получается так, что window.onload срабатывает еще до того, как загружаются элементы этого тулбара.
Может кто сталкивался с подобным - подскажите, пожалуйста как быть :-)
Вопрос: При полной загрузке страницы пропадает форма ввода комментариев

Есть два сайта работают на одном шаблоне, на одном сайте есть поле для ввода на втором нет поля для ввода комментариев.
Точнее оно есть,появляется на долю секунды а при полной загрузке страницы пропадает.
вот сам сайт
Ответ: oleg_coma, консоль выдает ошибку Uncaught Error: VK not initialized. Please use VK.init
Вопрос: Preloader сайта по таймеру либо до полной загрузки страницы

Доброго времени суток товарищи. Нужна ваша помощь с прелоадером для сайта.
Нужно, что бы лоадер исчезал через указанное время но при условии, что страница полностью загрузилась, иначе игнорировать таймер и ждать загрузки страницы.
Ответ: karakym, Promise Вам зачем?

window.onload = function() {
    setTimeout(() => loader.fadeOut(), 3000);
    //setTimeout(loader.fadeOut.bind(loader), 3E3);
};
Вопрос: Как отследить загрузку страницы

Привет, я вот хочу сделать preload на главную страницу сайта. Как отследить полную загрузку страницы? То есть и все картинки.
Ответ: user_name,
<body onload="myFunction()">

Если я вас правильно поняла.
Вопрос: Как оптимизировать загрузку страницы на wordpress?

Всем привет!
Друзья, подскажите как сократить время загрузки страницы на сайте?
С какого-то хрена из lab.min.js грузится еще экземпляр jQuery v1.12.4. В то время как первым загружается 1.7.2, а он должен грузиться последним.
И в целом, прошу помочь разобраться со всеми загружаемыми ресурсами. Картинки ужал (ниже некуда (на мой взгляд)), но один черт, прелоадер затрачивает довольно таки много времени на прогрузку страницы.

Я пробовал подключить этот код, для ускорения загрузки:
PHP
1
2
3
4
5
6
7
8
9
function footer_enqueue_scripts() {
   remove_action('wp_head', 'wp_print_scripts');
  //  remove_action('wp_head', 'wp_print_head_scripts', 9);
   // remove_action('wp_head', 'wp_enqueue_scripts', 1);
    add_action('wp_footer', 'wp_print_scripts', 5);
  //  add_action('wp_footer', 'wp_enqueue_scripts', 5);
   // add_action('wp_footer', 'wp_print_head_scripts', 5);
}
add_action('after_setup_theme', 'footer_enqueue_scripts');
Но блин, в этом случае, загрузка самой страницы становилась корявой.
Плииз! Окажите любезность, помогите разобраться со всем этим.

Сайт на wordpress
Ответ: Соберите все css и js темы и плагинов в один файл. Отделите критические части - те, которые дают сносный внешний вид при первоначальной загрузке и не ломают функционал. Оба файла пропустите через минификатор.
Отключите все стили и скрипты темы и плагинов. Подключите только файл с критической частью. Оставшееся добавляйте в нужные места при помощи javascript после загрузки страницы.
Вопрос: Gtranslate.io перевод при загрузке страницы

Есть сервис автоперевода сайтов "на лету" gtranslate.io и у него есть скрипт, внедряемый в HTML. Мне нужно сделать, чтобы при загрузке страницы скрипт без события onclick переводил на англ., а по событию (нажатию на флаг России, переводил на исходный - русский). Помогите уже голову сломал . Вот сам скрипт:

<!-- GTranslate: [url]https://gtranslate.io/[/url] -->
<a href="#" onclick="doGTranslate('ru|en');return false;" title="English" class="gflag nturl" style="background-position:-0px -0px;"><img src="//gtranslate.net/flags/blank.png" height="16" width="16" alt="English" /></a><a href="#" onclick="doGTranslate('ru|ru');return false;" title="Russian" class="gflag nturl" style="background-position:-500px -200px;"><img src="//gtranslate.net/flags/blank.png" height="16" width="16" alt="Russian" /></a>

<style type="text/css">
<!--
a.gflag {vertical-align:middle;font-size:16px;padding:1px 0;background-repeat:no-repeat;background-image:url(//gtranslate.net/flags/16.png);}
a.gflag img {border:0;}
a.gflag:hover {background-image:url(//gtranslate.net/flags/16a.png);}
#goog-gt-tt {display:none !important;}
.goog-te-banner-frame {display:none !important;}
.goog-te-menu-value:hover {text-decoration:none !important;}
body {top:0 !important;}
#google_translate_element2 {display:none!important;}
-->
</style>

<div id="google_translate_element2"></div>
<script type="text/javascript">
function googleTranslateElementInit2() {new google.translate.TranslateElement({pageLanguage: 'ru',autoDisplay: false}, 'google_translate_element2');}
</script><script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2"></script>


<script type="text/javascript">
/* <![CDATA[ */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('6 7(a,b){n{4(2.9){3 c=2.9("o");c.p(b,f,f);a.q(c)}g{3 c=2.r();a.s(\'t\'+b,c)}}u(e){}}6 h(a){4(a.8)a=a.8;4(a==\'\')v;3 b=a.w(\'|\')[1];3 c;3 d=2.x(\'y\');z(3 i=0;i<d.5;i++)4(d[i].A==\'B-C-D\')c=d[i];4(2.j(\'k\')==E||2.j(\'k\').l.5==0||c.5==0||c.l.5==0){F(6(){h(a)},G)}g{c.8=b;7(c,\'m\');7(c,\'m\')}}',43,43,'||document|var|if|length|function|GTranslateFireEvent|value|createEvent||||||true|else|doGTranslate||getElementById|google_translate_element2|innerHTML|change|try|HTMLEvents|initEvent|dispatchEvent|createEventObject|fireEvent|on|catch|return|split|getElementsByTagName|select|for|className|goog|te|combo|null|setTimeout|500'.split('|'),0,{}))
/* ]]> */
</script>
Ответ: Ну у Вас же висит событие onclick на ссылках
onclick="doGTranslate('ru|en');return false;"

Вот и выходит что вам необходимо выполнить doGTranslate('ru|en') при загрузке страницы
window.onload = function () { 
    doGTranslate('ru|en'); 
   };

Ну или так
var script = document.createElement('script');
script.src = "https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2"
document.body.appendChild(script);

script.onload = function() {
    doGTranslate('ru|en'); 
  }
Вопрос: Как применять данные из куков на странице до загрузки страницы или как можно раньше?

Всем привет! Есть примерно следующий код:
В хедере подключается библиотека jquery, далее в заголовке скрипт:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
jQuery(document).ready(function($) {
$("input.slider").each(function() {
    var mycookie = $.cookie($(this).attr('id'));
    if (mycookie && mycookie == "true") {
        $(this).prop('checked', mycookie);
    }
});
$("input.slider").change(function() {
    $.cookie($(this).attr("id"), $(this).prop('checked'), {
        path: '/',
        expires: 7
    });
});});
Уже на странице код слайдера:
HTML5
1
2
3
<input type="checkbox" class="slider" id="slider-sw">
<label class="slider" for="slider-sw">типа кнопка</label>
<div class="flexslider">тут слайдер</div>
И далее в "подвале" подключается уже jquery cookie.

И стили:
CSS
1
2
3
4
5
6
7
8
9
10
11
12
.flexslider {
    position: relative;
    width: 100%;
    height: 500px;
    margin-top: -19px;
    overflow: hidden;
    transition: height .2s linear;
}
input.slider:checked ~ .flexslider {
    height: 0;
    transition: height 0s;
}
Кликните здесь для просмотра всего текста
Все стили слайдера:
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* Слайдер---------------------------------------------------------------------------- */
.flexslider {
    position: relative;
    width: 100%;
    height: 500px;
    margin-top: -19px;
    overflow: hidden;
    transition: height .2s linear;
}
ul.slides {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}
ul.slides li {
    overflow: hidden;
}
ul.slides a {
    display: block;
    width: 100%;
    height: 500px;
    background-position: center;
    background-size: cover;
}
/* Слайдер. Навигация---------------------------------------------------------------------------- */
.flex-direction-nav li {
    display: flex;
    width: 100%;
    justify-content: center;
}
a.flex-prev, a.flex-next {
    display: block;
    position: absolute;
    line-height: 1;
    text-align: center;
    top: 225px;
}
a.flex-prev {
    margin-left: -630px;
}
a.flex-prev:after, a.flex-next:after {
    content: '\f053';
    font-family: FontAwesome;
    color: #fff;
    font-size: 50px;
}
a.flex-next:after {
    content: '\f054';
}
a.flex-next {
    margin-left: calc(1260px / 2 - 35.8px);
}
/* Слайдер. Свитчер---------------------------------------------------------------------------- */
input.slider {
    display: none;
}
label.slider {
    position: absolute;
    z-index: 5;
    text-align: center;
    margin-left: calc(100% / 2 + 1260px / 2 - 50px);
    margin-top: 432px;
    font-size: 35px;
    width: 48px;
    height: 49px;
    border: 1px solid #fff;
    border-bottom: none;
    color: #fff;
    /*transition: margin-top .2s linear;*/
}
input.slider:checked ~ .flexslider {
    height: 0;
    transition: height 0s;
}
input.slider:checked + label {
    margin-top: -19px;
    color: #f56d67;
    border: 1px solid #f56d67;
    border-top: none;
}
input.slider:checked + label i {
    transform: rotateX(180deg);
    /*transition: transform .2s linear;*/
}
input:checked + label + div + #content {
    margin-top: 50px;
}
/* Конец. Слайдер---------------------------------------------------------------------------- */


Слайдер сворачивающийся, при нажатии на чекбокс слайдер сворачивается или разворачивается в зависимости от текущего положения. Куками же сделано запоминание, чтобы посетитель, который слайдер свернул, не видел его развёрнутым следующие 7 дней.
В чём заключается проблема. Т.к. у слайдера в дефолтном состоянии высота 500px, то во время загрузки баузер эти 500px отступает, даже если слайдер свёрнут, после чего эта "пустота" быстро схлопывается. Получается, что контент после слайдера при каждой загрузке страницы как бы скачет.
Как от этого можно избавится? Может кто-нибудь указать на ошибку или подсказать решение проблемы?
Ответ: Poznakomlus, спасибо за ответ. К сожалению, разбираться в настройки апача времени нет.
Решил проблему вот так:
Javascript
1
2
3
4
5
6
7
8
9
10
jQuery(document).ready(function($) {
$("input.slider").each(function() {
    var mycookie = $.cookie($(this).attr('id'));
});
$("input.slider").change(function() {
    $.cookie($(this).attr("id"), $(this).prop('checked'), {
        path: '/',
        expires: 7
    });
});});
И:
PHP
1
<input type="checkbox" class="slider" id="slider-sw" <?php if($_COOKIE['slider-sw'] == 'true') echo 'checked'; ?>>
Работает как нужно. Пришлось правда вернуться от localstorage обратно к кукисам.
Вопрос: Прокрутка окна при загрузке страницы

Здравствуйте.
Меня беспокоит возможно и не сложный но для меня большой вопрос:
Как сделать, чтобы при загрузке страницы сайта она сразу перемещалась на определенное расстояние от верха окна браузера.
Кто знает, ответ напишите.
Ответ: Это та тема, которую мне нужно поднять.
Есть открывашка окна со страницы http://hhh.ui
function otkrytie("http://yyy.tr") {myWin= open()}

Как сделать, чтобы оно загрузилось прокрученным по горизонтали и вертикали к
<div class="sd">ЗЁ</div>

?
ЗЁ должно стать слева вверху окна. Страница http://yyy.tr совершенно сторонняя
Вопрос: Координаты мыши при загрузке страницы

Здравствуйте, подскажите, как узнать координаты курсора при загрузке страницы. Я знаю, что чтобы узнать при движении, нужно использовать onmousemove и там потом функцию указывать, а как узнать координаты мыши, если вы с ней никаких действий не выполняли. Скажем, загрузили страницу, а мышь не трогали.
Заранее спасибо.
Ответ: Это нужно чтобы установить на страницу свой кусор
Вопрос: Получение cookie без полной загрузки страницы

Здравствуйте товарищи программисты. Подскажите пожалуйста на каком языке быстрее, удобней и легче будет сделать скрипт или программу которая бы загружала кукисы из нужных мне сайтов. Хочу попробовать реализовать данное чудо с помощью javascript скрипта. Дайте мне пожалуйста направление, в какую сторону идти. Можно алгоритм или куски кода в помощь. Спасибо.
Ответ: создано во фрилансе, здесь закрыто.