Mibew Messenger Community

General => Support => Русский (ru) => Topic started by: igor_bond on February 28, 2012, 08:29:32 AM

Title: Синий экран, Google Chrome 17.0.963.56
Post by: igor_bond on February 28, 2012, 08:29:32 AM
Здравствуйте.

Установил Mibew Messenger 1.6.4. Все работает замечательно, кроме -- вылазит синий экран в "Список ожидающих посетителей", когда заходит посетитель. Причем стоит два компьютера с разным набором железа и установленных драйверов аудио/видео. Везде Google Chrome 17.0.963.56. На том, где вылазит синий экран, вообще чистая ОС Windows 7 + Office 2010 + касперский.

Нашел вот ссылку с такой же проблемой: http://mibew.org/forums/index.php/topic,2719.msg5195.html#msg5195

Закоментил как там написано, но проблема осталась!

I commented in common.js (root/webim/js/souruce) that code:

function playSound(wav_file) {
//   var player = document.createElement("div");
//   var agt = navigator.userAgent.toLowerCase();
//  if(agt.indexOf('opera') != -1) {
//     player.style = "position: absolute; left: 0px; top: -200px;";
//  }
//  document.body.appendChild(player);
//  player.innerHTML = '<embed src="'+wav_file+'" hidden="true" autostart="false" loop="false">';
}

Возможно нужно что-то до установить из плагинов к Chromu/Windows?

Title: Re: Синий экран, Google Chrome 17.0.963.56
Post by: Dmitriy Simushev on February 28, 2012, 12:31:59 PM
Доброго времени суток.

Насколько я понимаю проблема связанна с различным трактованием тега <embed>
в версиях Google Chrome 17 и более ранних. Поясню: если я все правильно понимаю,
то данный тег описан в спецификации HTML3 и HTML5 и описание несколько отличается.

Возможные варианты решения проблемы:
1. Использовать тег audio и некоторое количество хаков для организации звука в браузерах,
не поддерживающих HTML5.
2. Закомментировать вывод звука в js файле. Однако тут есть одна важная особенность:
в папке source хранятся не сжатые js файлы, которые на самом деле не используются Mibew.
А используются сжатые файлы из папки /webim/js/164, тоесть для достижения результата править
надо именно их (подробнее про js в mibew тут http://mibew.org/forums/index.php/topic,329.0.html (http://mibew.org/forums/index.php/topic,329.0.html))

В качестве быстрого решения могу предложить исправить файл /webim/js/164/common.php.
Для этого следует найти строчку
Code: [Select]
function playSound(a){var b=document.createElement("div");if(navigator.userAgent.toLowerCase().indexOf("opera")!=-1)b.style="position: absolute; left: 0px; top: -200px;";document.body.appendChild(b);b.innerHTML='<embed src="'+a+'" hidden="true" autostart="true" loop="false">'}и заменить ее на
Code: [Select]
function playSound(a){/*var b=document.createElement("div");if(navigator.userAgent.toLowerCase().indexOf("opera")!=-1)b.style="position: absolute; left: 0px; top: -200px;";document.body.appendChild(b);b.innerHTML='<embed src="'+a+'" hidden="true" autostart="true" loop="false">'*/}
Дмитрий
Title: Re: Синий экран, Google Chrome 17.0.963.56
Post by: Buivol on February 29, 2012, 03:42:53 PM
Доброго времени суток.
.............................
В качестве быстрого решения могу предложить исправить файл /webim/js/164/common.php.

Дмитрий

прошу прощения, по данному пути нету файлов с расширением "php", только "js", но в common.js нету предлагаемого выше текста(кода).
Title: Re: Синий экран, Google Chrome 17.0.963.56
Post by: Dmitriy Simushev on February 29, 2012, 06:23:10 PM
Действительно js. Опечатка)

Что касается кода - у меня вполне может быть другая версия этого
файла - поэтому строки могут отличатся.

Попробуйте после комментирования вот этих строк:
function playSound(wav_file) {
//   var player = document.createElement("div");
//   var agt = navigator.userAgent.toLowerCase();
//  if(agt.indexOf('opera') != -1) {
//     player.style = "position: absolute; left: 0px; top: -200px;";
//  }
//  document.body.appendChild(player);
//  player.innerHTML = '<embed src="'+wav_file+'" hidden="true" autostart="false" loop="false">';
}
в webim/js/source/common.js скопировать с заменой этот файл в webim/js/164/ (сделав на
всякий случай предварительный бэкап файла webim/js/164/common.js)
Это должно решить вашу проблему.

Дмитрий
Title: Re: Синий экран, Google Chrome 17.0.963.56
Post by: igor_bond on March 01, 2012, 08:43:23 AM
Здравствуйте.

Установил Mibew Messenger 1.6.4. Все работает замечательно, кроме -- вылазит синий экран в "Список ожидающих посетителей", когда заходит посетитель. Причем стоит два компьютера с разным набором железа и установленных драйверов аудио/видео. Везде Google Chrome 17.0.963.56. На том, где вылазит синий экран, вообще чистая ОС Windows 7 + Office 2010 + касперский.

Нашел вот ссылку с такой же проблемой: http://mibew.org/forums/index.php/topic,2719.msg5195.html#msg5195

Закоментил как там написано, но проблема осталась!

I commented in common.js (root/webim/js/souruce) that code:

function playSound(wav_file) {
//   var player = document.createElement("div");
//   var agt = navigator.userAgent.toLowerCase();
//  if(agt.indexOf('opera') != -1) {
//     player.style = "position: absolute; left: 0px; top: -200px;";
//  }
//  document.body.appendChild(player);
//  player.innerHTML = '<embed src="'+wav_file+'" hidden="true" autostart="false" loop="false">';
}

Возможно нужно что-то до установить из плагинов к Chromu/Windows?


Спасибо за помощь, но решение пока не найдено :(. При подмене, "Список ожидающих посетителей" подвисает. Отображает все время Loading....
Есть common.php в ./libs/ , но там нет упоминания на  function playSound.

Сам сжатый js у меня вот такой:

var mn={nn:function(){return function(){this.qn.apply(this,arguments);} ;} ,rn:function(sn,parent,body){Object.tn(Object.tn(sn.prototype,parent.prototype),body);} } ;Object.tn=function(un,hn){for(jn in hn){un[jn]=hn[jn];} return un;}

[... кусь ...]

function(ps,ls,fs,gs,as,bs){var cs=ps.insertCell(-1);cs.id=ls;if(gs)cs.align=gs;cs.className=fs;if(as)cs.height=as;cs.innerHTML=bs;} } ;function vs(ws){var xs=document.createElement("div");var ys=navigator.userAgent.toLowerCase();if(ys.indexOf('opera')!=-1){xs.style="position: absolute; left: 0px; top: -200px;";} document.body.appendChild(xs);xs.innerHTML='<embed src="'+ws+'" hidden="true" autostart="true" loop="false">';} function zs($s){return $s.replace('&','&amp;').replace('<','&lt;').replace('>','&gt;').replace('"','&quot;');}
Title: Re: Синий экран, Google Chrome 17.0.963.56
Post by: Dmitriy Simushev on March 01, 2012, 02:28:01 PM
Судя по вашему js файлу вам надо заменить вот этот кусок:
Code: [Select]
function vs(ws){var xs=document.createElement("div");var ys=navigator.userAgent.toLowerCase();if(ys.indexOf('opera')!=-1){xs.style="position: absolute; left: 0px; top: -200px;";} document.body.appendChild(xs);xs.innerHTML='<embed src="'+ws+'" hidden="true" autostart="true" loop="false">';}
на вот такой:
Code: [Select]
function vs(ws){/*var xs=document.createElement("div");var ys=navigator.userAgent.toLowerCase();if(ys.indexOf('opera')!=-1){xs.style="position: absolute; left: 0px; top: -200px;";} document.body.appendChild(xs);xs.innerHTML='<embed src="'+ws+'" hidden="true" autostart="true" loop="false">';*/}
Дмитрий
Title: Re: Синий экран, Google Chrome 17.0.963.56
Post by: igor_bond on March 01, 2012, 03:34:42 PM
Судя по вашему js файлу вам надо заменить вот этот кусок:
Code: [Select]
function vs(ws){var xs=document.createElement("div");var ys=navigator.userAgent.toLowerCase();if(ys.indexOf('opera')!=-1){xs.style="position: absolute; left: 0px; top: -200px;";} document.body.appendChild(xs);xs.innerHTML='<embed src="'+ws+'" hidden="true" autostart="true" loop="false">';}
на вот такой:
Code: [Select]
function vs(ws){/*var xs=document.createElement("div");var ys=navigator.userAgent.toLowerCase();if(ys.indexOf('opera')!=-1){xs.style="position: absolute; left: 0px; top: -200px;";} document.body.appendChild(xs);xs.innerHTML='<embed src="'+ws+'" hidden="true" autostart="true" loop="false">';*/}
Дмитрий

Спасибо, это то что надо! :)
Title: Re: Синий экран, Google Chrome 17.0.963.56
Post by: Dmitriy Simushev on March 10, 2012, 11:40:48 AM
Доброго времени суток.

Появилось решение данной проблемы, которое не приводит
к необходимости отключать звук. Кроме того это решение
позволяет решить проблему с воспроизведением звука в новых
браузерах(поддерживающих html5).

Прикладываю файл с патчем для файла webim/js/source/common.js.
После его применения необходимо выполнить действия,
описанные здесь http://mibew.org/forums/index.php/topic,329.0.html (http://mibew.org/forums/index.php/topic,329.0.html)
для того что бы изменения подействовали.

Дмитрий
Title: Re: Синий экран, Google Chrome 17.0.963.56
Post by: 6opo9a on April 23, 2012, 03:56:54 PM
Сделал более красивое решение для зацикливания звука http://mibew.org/forums/index.php/topic,976.msg6333.html#msg6333