Ответы пользователя по тегу HTML
  • Как показывать ошибки в div?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    <html>
    	<head>
    		<script>
    
    			function main(){
    				a = b;
    			}
    
    			window.addEventListener('load', function(){
    				try { 
    					main() 
    				} catch (e){
    					proceedException(e)
    				}
    			})
    		</script>
    
    		<script src="file.js">
    		</script>
    	</head>
    	<body>
    		<div id="error">
    		</div>
    	</body>
    </html>

    file.js
    function parseStackTrace(stacktrace){
    	let [_, functionName, fileName, row, __, column] = stacktrace.match(/at\s([^\s]+)\s\((.+?):(\d+)(:(\d+))?\)/)
    	return [functionName, fileName, row, column]
    }
    
    function proceedException(exception){
    	let [fn, file, row, column] = parseStackTrace(exception.stack),
    		node = document.createElement('p');
    	node.innerText = `Ошибка в файле: ${file}, функция <${fn}> на строке ${row}${column ? '(' + column + ' символ)' : ''} ${exception}`;
    	document.querySelector('#error').appendChild(node);
    }
    
    function helper(){
    	let c = 1, a = b;
    }
    
    function onload(){
    	helper();
    }
    
    window.addEventListener('load', function(){
    	try { 
    		onload() 
    	} catch (e){
    		proceedException(e)
    	}
    })
    Ответ написан
    5 комментариев
  • Как визуально отобразить в select выбранный option с preview изображением по GET запросу в URL?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Mixed Content: The page at 'https://bundlespace.com/register-license?image=10005' was loaded over HTTPS, but requested an insecure resource 'httр://bundlespace.com/image/10005'. This request has been blocked; the content must be served over HTTPS.

    из HTTP соединения можно брать данные по HTTPS, в обратном порядке - нет
    Решения есть, самое простое: картинки сделать доступными по HTTP
    Ответ написан
  • Как правильно подменить изображение через дата-атрибут?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    $(window).resize(function() {
         if ($(window).width() <= 560) {
           $('.picture').css('background-image', 'url(' + $('.picture').data('bg-xs') + ')');
         }
         console.log($('.picture').data('bg-xs'));
       });
    Ответ написан
    3 комментария
  • Как правильно найти дом элементы js?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Этого вроде достаточно

    Альтернатива (должно быть шустрее)
    Ответ написан
    Комментировать
  • Как сделать кнопку для смены option в select?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    <select id="part">
    	<option>
    		First
      </option>
    	<option>
    		Second
      </option>
    	<option>
    		Third
      </option>
    </select>
    <button data-next=1 class='control'>Next</button>
    <button class='control'>Previous</button>

    const select=document.getElementById('part')
    for (let btn of document.querySelectorAll('.control'))
    	btn.addEventListener( 'click', e => {
    		let i = select.selectedIndex + ( e.target.dataset.next ? 1 : -1),
    			l = select.options.length - 1
    		select.selectedIndex = i > l ? 0 : i < 0 ? l : i
      })

    Или так, чтобы по кругу не ходил
    const select=document.querySelector('#part')
    for (let btn of document.querySelectorAll('.control'))
    	btn.addEventListener( 'click', e => {
    		let i = select.selectedIndex + ( e.target.dataset.next ? 1 : -1)
    		if (i in select.options) select.selectedIndex = i
      })
    Ответ написан
    Комментировать
  • Не могу поменять название,как сделать?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Не получится поменять, там логика завязана на строках, про которые вы пишите. Работать не будет - вставьте уж костыль с переводом loanApproval и creditRating ( хранятся они в $scope вроде, но Вы поищите лучше ). На бэке:
    $scope.ruLoanApproval = _ => $scope.loanApproval === 'DENIED' ? 'Отказано' : 'Одобрено'

    В разметке укажите {{ ruLoanApproval() }}

    Upd: не знаком с angular совсем, оказывается что $scope есть как раз прослойка для фронта, попробуйте тут изменить в функции creditScoreService.getCreditSummary(profile) :
    $scope.loanApproval = response.data.approval === 'DENIED' ? 'Отказано' : 'Одобрено'

    И creditRating там же, строкой ниже
    Ответ написан
    3 комментария
  • Почему мы катимся в HTML-ад?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Я вот тоже задумался раз - почему все так безрассудно используют подаренные им ресурсы и технологии? А куда всю молодежь девать с учётом наращивания мощности автоматизации (читай роботизации) в прошлом человеческих процессов? кроме блогов, музыки и геймдэва вообще что то есть в современной детской мечте? Не думаю, что кто то хочет что то открывать и совершенствовать как в советском союзе, скорее просто пользоваться тем что есть - легко и не принужденно. Пришел к выводу, что застой это нормальный виток эволюции (если смотреть на историю и то, что снова французская мода танцев и бестолковых революций пришла к нам)
    ИМХО (эт такая старая постсоветская аббревиатура)

    А если честно - почему бы не пользоваться наследием? В любом случае гавно продукт уйдет в небытие, зачем кого-то оскорблять если можно просто не пользоваться им, партия же не заставляет?

    И да, я в чем то согласен с автором вопроса:
    Делал простой(далеко не невросеть) анализ полугодовой статистики(с шагом в секунды) на nodejs - 2 дня ожидания почти. Переписал на rust - 20 минут. И это с собственно написанным и далёким от идеала алгоритмом конечно, но по сути одним и тем же - что в nodejs что в rust. Вот в этом случае я почувствовал разницу и смог менять стратегию несколько раз на дню. Но, если принять тот факт что игрушка/приложение настолько просты, что нельзя позволить себе дорогостоящих программеров старой закалки на плюсах - зачем это нужно кроме как для фана/опенсорц? Да, современная имплементация IRC может жрать чуть ли не гиг оперативы из за того, что на electron, это вот не нормально конечно - попробуйте отрендерить хэллоу ворлд на нем, сколько он жрёт?.. Да просто запихали хром чуть ли не целиком и всё - пиши системку на js, как вот это назвать? Современный вектор эволюции - много сахара и куча жира или просто снизить порог входа для масс?
    Ответ написан
    Комментировать
  • Не работает this в функциях, что делать?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Проблема в том, что Вы не знаете, что такое scope..
    $("body").append("<button id='action1'>-</button>");
    
    var talkf = function() {
        var distance = function(n) {
            var x = img.left - this.left; 
            var y = img.top - this.top; 
            return Math.sqrt((x * x) + (y * y));
        };
        if (distance() < 300) {
            $("#action1").text("Начать диалог");
        } else {
            $("#action1").text("-");
        };
    };
    
    var positionf = function() {
        $("#" + this.id).offset({
            left: this.left,
            top: this.top
        });
    };
    
    var img = {
        id: "1",
        left: 100,
        top: 200,
        position: setInterval(() => { positionf.bind(img)() }, 200),
    };
    
    var img2 = {
        id: "2",
        left: 500,
        top: 600,
        position: setInterval( () => { positionf.bind(img2)() }, 200),
        talk: talkf.bind(img2)
    };
    Ответ написан
  • Как убрать из скрипта поиска по сайту преобразование регистра букв?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    function showResult(str) {
    	if (str.length==0) { document.getElementById("livesearch").innerHTML=""; return; }
    	if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest(); else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
     	xmlhttp.onreadystatechange=function() {if (xmlhttp.readyState==4 && xmlhttp.status==200) {document.getElementById("livesearch").innerHTML=xmlhttp.responseText;}}
     	xmlhttp.open("GET",encodeURI("livesearch.php?q="+str),true); 
     	xmlhttp.send();
    }
    Ответ написан
  • Как сделать такой же pre-loader?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Делается просто - css transition с delay, в скрипте JS, после загрузки контента, на loader вешается класс loaded например, после чего и стартует анимация, там их 3 всего. Например:
    первая анимация длится 1 секунду, вторая длится 1 секунду с delay 1s, 3 - 1 секунду с delay -2s
    Делать не долго, но вопрос уже коммерческий (примеров нет к сожалению под рукой)
    Ответ написан
    Комментировать
  • Как с помощью jquery добавить в iframe параметр autoplay, например?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Никак не будет применяться, так как нет такого аттрибута Чтобы бы не было autoplay, достаточно убрать параметр из ссылки:
    <iframe width="100%" height="100%" src="https://www.youtube.com/embed/Bey4XXJAqS8?controls=1&showinfo=0&rel=0&loop=1&mute=0" frameborder="0" allowfullscreen></iframe>

    jQ:
    let videoSource = "https://www.youtube.com/embed/Bey4XXJAqS8?controls=1&showinfo=0&rel=0&loop=1&mute=0";
    if (hostType === 'PC') videoSource += '&autoplay=1';
    $('iframe').eq(0).attr('src', videoSource);
    Ответ написан
  • Как ютуб обходит Autoplay Policy?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Как насчёт такого варианта?
    btnPlay.onclick = function(){
        videoElement.play();
    }
    setTimeout(btnPlay.click, 2000);
    Ответ написан
    Комментировать
  • Как реализовать расположение элемента, на картинке?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    После загрузки фото на сайт, оно отображается пользователю. Он в свою очередь рисует на нём прямоугольник (отмечает лицо) и добавляет подпись ниже (или где нибудь ещё). Нарисовать прямоугольник на фото можно c помощью JS. Родитель img имеет свойство CSS position relative, img и все наложения на него absolute. Прямоугольник можно нарисовать обычным DIV с border и для красоты border-radius к примеру, перемещать и масштабировать с помощью свойств CSS top left width height. Можно конечно и с canvas заморочиться, если нужен UI по интереснее.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы элемент (Например div) не перезагружался вместе со всей страницей?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Если не лень и не жалко - зачем?(просто интересно)
    Ответ написан
    Комментировать
  • Чем сделать кастомную анимацию на сайте и как сверстать?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    Возможно реализовать на canvas/svg
    Ответ написан
    Комментировать