К странице... |
---|
Проблемы с JavaScript
Список форумов Tapochek.net » Правила, основные инструкции, советы, FAQ » Вопросы и ответы » Архив (Вопросы к администрации) |
|
Автор | Сообщение |
---|---|
Не
работает поиск (ни по трекеру, не по форуму). Разделы просматриваются нормально, но при попытке просмотреть тред что-то происходит с кодировкой (вместо кириллицы - чёрные юникодные знаки вопроса; посмотрел сырцы страницы - там везде один и тот же символ; если нужны будут скриншоты - сделаю). Вот отчёт LibreJS: LibreJS писал(а): List of blocked JavaScript in http://tapochek.net/posting.php?mode=newtopic&f=345 in attribute: onclick:top.location.href='bonus.php';; in attribute: onsubmit:$(this).attr('action', $('#search-action').val()); var txt=$('#search-text').val(); return !(txt=='поиск...' || !txt);; in attribute: onfocus:if(this.value=='поиск...') this.value='';; onblur:if(this.value=='') this.value='поиск...';; in attribute: ./login.php?logout=1 in attribute: onsubmit:return checkForm(this);; in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: # in attribute: posting.php?mode=smilies in attribute: onclick:bbcode.onclickQuoteSel();; onmouseover:bbcode.refreshSelection(true);; onmouseout:bbcode.refreshSelection(false);; in attribute: onclick:transliterate(document.post.message, this);; in attribute: # in attribute: onclick:BBCyoutube(); in attribute: onclick:storeCaret(this);; onfocus:storeCaret(this);; onkeypress:if(use_kb) return decode(event);; onkeyup:storeCaret(this);; onselect:storeCaret(this);; in attribute: posting.php?mode=smilies in attribute: onclick:javascript:translit();; in attribute: onclick:javascript:kb_rules();; in attribute: onclick:javascript:kb_close();; in attribute: onclick:javascript:kb_show();; in attribute: onclick:javascript:kb_rules();; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onclick:return changeLetter(5);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onclick:return changeLetter(1);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onmouseup:return addl(this.value);; in attribute: onclick:return changeLetter(2);; in attribute: onclick:return undo();; in attribute: onmouseup:return addl(this.value);; in attribute: onclick:return clr();; in attribute: misc.php?do=info&show=callback http://tapochek.net/misc/js/jquery.pack.js?v=16 http://tapochek.net/misc/js/ui/jquery-ui-1.8.9.custom.min.js http://tapochek.net/misc/js/ui/jquery.corner.js?v=16 http://tapochek.net/misc/js/ui/jquery.mousewheel.js?v=16 http://tapochek.net/misc/js/ui/jquery.scrollable.js?v=16 http://tapochek.net/misc/js/jquery.cluetip.js?v=16 $(document).ready(function() { $('a.load-local').cluetip({local:true, cursor: 'pointer',showTitle: true,arrows: true}); $('span[title]').cluetip({splitTitle: '|', arrows: true, dropShadow: false, cluetipClass: 'jtip'}); $('a.load-local-menu').cluetip({local:true, activation: 'click', cursor: 'pointer',showTitle: true,sticky: true, closePosition: 'title', width: 500, height: 500, closeText: 'Закрыть', cluetipClass: 'jtip'}); }); http://tapochek.net/misc/js/jquery.rater.js?v=16 http://tapochek.net/misc/js/main.js?v=16 http://tapochek.net/misc/js/tools.tabs-1.0.1.js http://tapochek.net/misc/js/bbcode.js?v=16 var postImg_MaxWidth = screen.width - 202; var postImgAligned_MaxWidth = Math.round(screen.width/3); var attachImg_MaxWidth = screen.width - 280; var ExternalLinks_InNewWindow = '1'; var hidePostImg = false; function copyText_writeLink(node) { if (!is_ie) return; document.write('<p style="float: right;"><a class="txtb" onclick="if (ie_copyTextToClipboard('+node+')) alert(\'Код скопирован в буфер обмена\'); return false;" href="#">скопировать в буфер обмена</a></p>'); } function initPostBBCode(context) { initSpoilers(context); initExternalLinks(context); initPostImages(context); } function initPostImages(context) { var context = context || 'body'; if (hidePostImg) return; var $in_spoilers = $('div.sp-body var.postImg', context); $('var.postImg', context).not($in_spoilers).each(function(){ var $v = $(this); var src = $v.attr('title'); var $img = $('<img src="'+ src +'" class="'+ $v.attr('className') +'" alt="pic" />'); $img = fixPostImage($img); var maxW = ($v.hasCla… var BB = {}; var BB_ROOT = "./"; var cookieDomain = ".tapochek.net"; var cookiePath = "/"; var cookieSecure = 0; var cookiePrefix = "bb_"; var LOGGED_IN = 1; var InfoWinParams = 'HEIGHT=510,resizable=yes,WIDTH=780'; var user = { opt_js: {"only_new":0,"h_flag":0,"h_av":0,"h_rnk_i":0,"h_post_i":0,"h_smile":0,"h_sig":0,"sp_op":0,"i_aft_l":0,"tr_t_ax":0}, set: function(opt, val, days, reload) { this.opt_js[opt] = val; setCookie('opt_js', $.toJSON(this.opt_js), days); if (reload) { window.location.reload(); } } } var ajax = new Ajax('./ajax.php', 'POST', 'json'); http://tapochek.net/misc/js/glossy.js function web_news() { $web_news = $('#web_news'); $web_news.toggle(); if (!$web_news.data('loaded')) ajax.web_news(); } ajax.web_news = function() { ajax.exec({ action : 'web_news' }); }; ajax.callback.web_news = function(data){ $web_news = $('#web_news'); $('td', $web_news).html(data.html); $web_news.data('loaded', 1); }; var MarketGidDate = new Date(); document.write('<scr'+'ipt type="text/javascript" ' +'src="http://jsc.dt00.net/t/a/tapochek.net.15605.js?t='+MarketGidDate.getYear()+MarketGidDate.getMonth()+MarketGidDate.getDay()+MarketGidDate.getHours() + '" charset="windows-1251" ></scr'+'ipt>'); $(function(){ $('#cse-search-btn, #cse-search-btn-top').click(function(){ var text_match_input_id = $(this).attr('href'); var text_match = $('#'+text_match_input_id).val(); if (text_match == '') { $('#'+text_match_input_id).addClass('hl-err-input').focus(); return false; } $('#cse-text-match').val( text_match ); $('#cse-submit-btn').click(); return false; }); $('#quick-search').submit(function(){ var action = $('#search-action').val(); var txt = $('#search-text').val(); if (txt=='поиск...' || txt == '') { $('#search-text').val('').addClass('hl-err-input').focus(); return false; } if (action == 'cse') { $('#cse-search-btn-top').click(); return false; } else { $(this).attr('action', action); } }); }); $(function(){ $('a.dl-stub').click(function(){ $('#dl-form').attr('action', this.href); $('#dl-sid').val( getCookie('bb_sid') ); $('#dl-form').submit(); return false; }); }); var bbcode = new BBCode(document.post.message); var ctrl = "ctrl"; bbcode.addTag("codeB", "b", null, "B", ctrl); bbcode.addTag("codeI", "i", null, "I", ctrl); bbcode.addTag("codeU", "u", null, "U", ctrl); bbcode.addTag("codeS", "s", null, "S", ctrl); bbcode.addTag("codeQuote", "quote", null, "Q", ctrl); bbcode.addTag("codeImg", "img", null, "R", ctrl); bbcode.addTag("codeUrl", "url", "/url", "", ctrl); bbcode.addTag("codeUrl2", "url=", "/url", "W", ctrl); bbcode.addTag("codeCode", "code", null, "K", ctrl); bbcode.addTag("codeList", "list", null, "L", ctrl); bbcode.addTag("codeOpt", "*", "", "0", ctrl); bbcode.addTag("codeImgA", function(e) { var v=e.value; e.selectedIndex=0; return "img="+v }, "/img"); bbcode.addTag("codePoster", "poster", null, "P", ctrl); bbcode.addTag("codeTh", "th", null, "T", ctrl); bbcode.addTag("codeHR", "hr", "", "8", ctrl); bbcode.addTag("codeBR", "br", "", "", ctrl); bbcode.addTag("codeSpoiler", "spoiler", null, "", ctrl); bbcode.addTag("fontFace", function(e) { var v=e.value; e.selectedIndex=0; return "font=\""+v+"\"" }, "/font"); bbcode.addTag("codeColor", function(e) { var v=e.value; e.selectedIndex=0; return "color="+v }, "/color"); bbcode.addTag("codeSize", function(e) { var v=e.value; e.selectedIndex=0; return "size="+v }, "/size"); bbcode.addTag("codeAlign", function(e) { var v=e.value; e.selectedIndex=0; return "align="+v }, "/align"); /* kb.js * Last modified: 29.08.2005 * Description: JavaScript used by Russian Keyboard * The script is compressed to reduce its size, look for the raw version at http://prumysl.wz.cz/bb/ */ var l_letter=new Array('`','1','2','3','4','5','6','7','8','9','0','-','=','q','w','e','r','t','y','u','i','o','p','[',']','BackSpace','Shift','a','s','d','f','g','h','j','k','l',';',"'",'Enter','CapsLock','z','x','c','v','b','n','m',',','.','/','\\','Rus/Lat','Undo',' ','Clear');var lb_letter=new Array('~','!','@','#','$','%','^','&','*','(',')','_','+','Q','W','E','R','T','Y','U','I','O','P','{','}','BackSpace','Shift','A','S','D','F','G','H','J','K','L',':','"','Enter','CapsLock','Z','X','C','V','B','N','M','<','>','?','|','Rus/Lat','Undo',' ','Clear');var r_letter=new Array('ё','1','2','3','4','5','6','7','8','9','0','-','=','й','ц','у','к','е','н','г','ш','щ','з','х','ъ','BackSpace','Shift','ф','ы','в','а','п','р','о','л','д','ж','э','Enter','CapsLock','я','ч','с','м','и','т','ь','б','ю',… if(isMOZ||isIE)document.write("Раскладка: <select name='decflag' onchange='document.post.message.focus();' style='font-size:10px;position:relative;top:2px'><option value=0>Отсутствует<option value=1>Транслит<option value=2 selected>Традиционная</select><br />"); if(!(isOP7||isOP8))document.write('<input type="button" name="dell" onmouseup="return delLetter();" width="80" class="b80">');else document.write('<input type="button" name="dell" width="80" class="b80" disabled="disabled">'); init(); (function(){var j=115724,f=false,b=document,c=b.documentElement,e=window;function g(){var a="";a+="rt="+(new Date).getTime()%1E7*100+Math.round(Math.random()*99);a+=b.referrer?"&r="+escape(b.referrer):"";return a}function h(){var a=b.getElementsByTagName("head")[0];if(a)return a;for(a=c.firstChild;a&&a.nodeName.toLowerCase()=="#text";)a=a.nextSibling;if(a&&a.nodeName.toLowerCase()!="#text")return a;a=b.createElement("head");c.appendChild(a);return a}function i(){var a=b.createElement("script");a.setAttribute("type","text/javascript");a.setAttribute("src","http://c.luxup.ru/t/lb"+j+".js?"+g());typeof a!="undefined"&&h().appendChild(a)}function d(){if(!f){f=true;i()}};if(b.addEventListener)b.addEventListener("DOMContentLoaded",d,false);else if(b.attachEvent){c.doScroll&&e==e.top&&function(){try{c.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}d()}();b.attachEvent("onreadystatechange",function(){b.readyState==="complete"&&d()})}else e.onload=d})(); function stopError(){return true;} window.onerror = stopError; var am_jq=0; if(window.jQuery){am_jq=1;} var am_loc=escape(top.location.href.substring(0,255)); var am_ref=escape(document.referrer.substring(0,255)); var am_title; try{am_title=encodeURIComponent(document.getElementsByTagName("TITLE")[0].innerHTML.substring(0,100));}catch(e){am_title="";} var am_rand=Math.floor(Math.random()*10000); var am_code_cu=document.createElement("script"); am_code_cu.type="text/javascript"; am_code_cu.src="http://am10.ru/code.php?type=cu&jq="+am_jq..."+am_title; document.body.appendChild(am_code_cu); document.write("<a href='http://www.liveinternet.ru/click' target=_blank><img src='//counter.yadro.ru/hit?t16.2;r" + escape(document.referrer) + ((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth)) + ";u" + escape(document.URL) + ";" + Math.random() + "' border=0 width=88 height=31 alt='' title='LiveInternet: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня'><\/a>") (function(w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter7486462 = new Ya.Metrika({id:7486462, enableAll: true}); } catch(e) { } }); })(window, "yandex_metrika_callbacks"); http://mc.yandex.ru/metrika/watch.js List of accepted JavaScript in http://tapochek.net/posting.php?mode=newtopic&f=345 LibreJS did not allow the execution of any script on this page: ' There may be no script on this page (check source, C-u) The inline and on-page JavaScript code may not be free and/or may not have proper license information and external scripts (if present) may have been removed by default. External scripts may not be free and/or may not have proper licensing and are not part of the whitelist of free JavaScript libraries. |
|
01-Мар-2013 20:38 (спустя 16 минут) [-]0[+] Сделайте пожалуйста скриншоты.
|
|
01-Мар-2013 23:04 (спустя 2 часа 25 минут) [-]0[+] Пытался аттачнуть скриншот - форум запрещает png и jpg. В общем, смотри его тут - http://lrn.no-ip.info/other/cp1251_as_utf8.png
На главной, а также при ответе на сообщения, кодировка нормальная. Впрочем - нет, не совсем. Я только недавно обновил один из своих тредов - там теперь смесь из двух кодировок. Мой текст - в UTF-8, а сайт - не понятно в чём. На главной кодировка, если верить wget'у - cp1251, что не может не вызывать недоумение. Но похоже, что это так. Если заставить Файрфокс декодировать главную в UTF-8 (не смотря на то, что она в cp1251), то результат аналогичный - чёрные вопросительные знаки. Пытался заставить Файрфокс декодировать страницу как cp1251 - безрезультатно (декодирует уже сам _результат_ неправильного декодирования как cp1251 -> та же хрень, вид сбоку). Не понимаю, почему только некоторые страницы от этого страдают, и почему это начало происходить только после блокировки несвободного JS. |
|
04-Мар-2013 05:20 (спустя 2 дня 6 часов) [-]0[+] Цитата: Не понимаю, почему только некоторые страницы от этого страдают, и почему это начало происходить только после блокировки несвободного JS. |
|
04-Мар-2013 23:42 (спустя 18 часов) [-]0[+] Roman писал(а): Цитата: Не понимаю, почему только некоторые страницы от этого страдают, и почему это начало происходить только после блокировки несвободного JS. |
|
07-Мар-2013 21:27 (спустя 2 дня 21 час) [-]0[+] Порыл сырцы. Проблема заключается в том, что функция onDetermineCharset получает только первый кусочек страницы, 512 байт. Однако там первые 108 байт - заголовок:
Код: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html dir="ltr"> Код: <head> <!-- Advanced Meta Tags --> Код: <meta name="keywords" content="бла бла бла" /> <meta name="description" content="бла бла бла" /> Код: <!-- Advanced Meta Tags [END] --> Код: <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> Реализация nsIUnicharStreamLoaderObserver::onDetermineCharset() в LibreJS не находит charset в первых 512 байтах кода (ибо его там нет), и по умолчанию использует UTF-8 (что не делает никакой погоды - в случае если onDetermineCharset не реализован или кидает эксэпшн, Файрфокс всё равно использует UTF-8 по умолчанию). Я поговорил с разработчиками Файрфокса. Они указали на тот факт, что спек был обновлён некоторое время назад, и что теперь лимит на определение чарсэта - 1024 байта. Сейчас сделали багрепорт, пофиксят, и через N дней у меня в Nightly всё будет работать. Однако меня терзают смутные сомнения - а знал ли автор viewtopic.php об увеличении лимита до 1024 байта? Скорее всего какой-то не слишком осведомлённый товарищ просто решил влепить meta keywords и meta description ДО meta content. Если это так, то проблема всё-таки на форуме (то, что meta content таки укладывается в новый лимит в 1024 байта - чистое совпадение; были бы title и description подлиннее, и keyword'ов побольше - и не хватило бы 1024 байт). Дополнительным указателем на это может служить тот факт, что meta keywords и meta description закодированы cp1251, однако брузер-то на момент их чтения об этом не знает (ибо meta content ещё не пропарсил)! Почему обычно всё работает (и страница отображается в правильной кодировке) - хз, видимо у Файрфокса есть ещё какая-то особая, уличная магия. Но LibreJS к ней доступа не имеет, и может полагаться только на onDetermineCharset(). |
|
08-Мар-2013 06:57 (спустя 9 часов) [-]0[+] Проверяйте
|
|
08-Мар-2013 13:28 (спустя 6 часов) [-]0[+] Я Мы проверил проверили, работает.
Кстати, раз уж зашла речь об этом (ну, хотя бы название треда оправдаю оправдаем...), нет ли желания указать, какая под какой лицензией предоставляется JavaScript-код на страницах форума? |
|
Страница 1 из 1 |
Список форумов Tapochek.net » Правила, основные инструкции, советы, FAQ » Вопросы и ответы » Архив (Вопросы к администрации) |
Текущее время: 12-Янв 23:16
Часовой пояс: GMT + 4
Вы не можете начинать темы
Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы не можете скачивать файлы |