Страница 1 из 1

Блокировка в Chrome

СообщениеДобавлено: 27 янв 2015, 18:44
Tifa_Straif
Код для отображения подсказки игроку о том, что ему надо вручную разблокировать плагин в хроме (справа сверху).

Метод костыльный и корявый, но рабочий =)

...
var u = new UnityObject2(config);

var blockingCheckProcess;

jQuery(function() {
var $missingScreen = jQuery("#unityPlayer").find(".missing");
var $brokenScreen = jQuery("#unityPlayer").find(".broken");
$missingScreen.hide();
$brokenScreen.hide();
$("#blocking").hide();

u.observeProgress(function (progress)
{
switch(progress.pluginStatus)
{
case "broken":
$brokenScreen.find("a").click(function (e) {
e.stopPropagation();
e.preventDefault();
u.installPlugin();
return false;
});
$brokenScreen.show();
break;
case "missing":
$missingScreen.find("a").click(function (e) {
e.stopPropagation();
e.preventDefault();
u.installPlugin();
return false;
});
$missingScreen.show();
break;
case "installed":
$missingScreen.remove();
break;
case "first":
break;
}
});
u.initPlugin(jQuery("#unityPlayer")[0], тут ваша ссылка на билд);

blockingCheckProcess = setInterval(function(){CheckBlocking()}, 2000)
});

function CheckBlocking()
{
if ($("#unityPlayer").find('embed').attr('title') != null) //при блокировке title меняется на Unity Player
{
$("#unityPlayer").height(1);
$("#unityPlayer").width(1);

$("#blocking").show();
}
else
{
window.original_height = тут высота окна приложения;
window.original_width = тут ширина окна приложения;
$("#unityPlayer").height(window.original_height);
$("#unityPlayer").width(window.original_width);
$("#blocking").hide();

clearTimeout(blockingCheckProcess);
}
}

...

<body>
<p class="header"></p>
<div class="content">
<div id="blocking">
<img src="тут ссылка на картинку при блокировке">
</div>
<div id="unityPlayer">
<div class="missing">
<a href="//unity3d.com/webplayer/" title="Unity Web Player. Install now!">
<img src="тут ссылка на картинку для установки вэб плеера" />
</a>
</div>
<div class="broken">
<a href="//unity3d.com/webplayer/" title="Unity Web Player. Install now! Restart your browser after install.">
<img src="тут ссылка на картинку для установки вэб плеера"/>
</a>
</div>
</div>
</div>
</body>

...

Re: Блокировка в Chrome

СообщениеДобавлено: 27 янв 2015, 19:12
gnoblin
пример подсказки:

Изображение

Re: Блокировка в Chrome

СообщениеДобавлено: 27 янв 2015, 20:20
ikhtd
Вот это мы и искали. Надо проверить.

фактически вот этот кусок проверяет
Синтаксис:
Используется javascript
function CheckBlocking()
{
if ($("#unityPlayer").find('embed').attr('title') != null) //при блокировке title меняется на Unity Player
{
$("#unityPlayer").height(1);
$("#unityPlayer").width(1);

$("#blocking").show();
}
else
{
window.original_height = тут высота окна приложения;
window.original_width = тут ширина окна приложения;
$("#unityPlayer").height(window.original_height);
$("#unityPlayer").width(window.original_width);
$("#blocking").hide();

clearTimeout(blockingCheckProcess);
}
}
 


и две переменные
var blockingCheckProcess;
$("#blocking").hide();

Re: Блокировка в Chrome

СообщениеДобавлено: 28 янв 2015, 10:52
Diab10
Спасибо! (3A4OT)

Re: Блокировка в Chrome

СообщениеДобавлено: 22 фев 2015, 12:42
Diab10
К сожалению, у меня этот метод не работает.
При блокировке у embed у меня не появляется поле title, поэтому не срабатывает.

Я сделал проще - сделал под плеером надпись(можно и картинку), о том что плеер заблокирован и т.д.
Если плеер заблокирован - надпись эту будет видно. Если плеер не заблокирован, то он своим "телом" закроет эту надпись/картинку.

Для этого нужно сделать второй div, который поместить под div плеера следующим образом: http://www.webremeslo.ru/css/glava12.html

Работает в хроме, яндекс-браузере, FF, Opera.
Не работает в IE, да и хрен с ним, глючная фигня. :D Им только 2 процента игроков у меня пользуются

UPD:

В IE не работает только в 64 битной версии, т.к. юнити вообще его не поддерживает. Починить можно путём редактирования файла UnityObject.js:
Найти в нём кусок кода:
Синтаксис:
Используется javascript
m(aR,aV,aU,aQ,"Unsupported browser.")

и заменить на
Синтаксис:
Используется javascript
X(aR,aV,aU,aQ)


profit :)

Re: Блокировка в Chrome

СообщениеДобавлено: 02 мар 2015, 01:22
gnoblin
у тебя в хоккее тож не работает?

Re: Блокировка в Chrome

СообщениеДобавлено: 02 мар 2015, 03:43
Diab10
gnoblin писал(а):у тебя в хоккее тож не работает?


В хокее работает) хз почему, мб из-за того что у меня UnityObject.js старый, хз)

Re: Блокировка в Chrome

СообщениеДобавлено: 02 мар 2015, 05:33
gnoblin
Diab10 писал(а):
gnoblin писал(а):у тебя в хоккее тож не работает?


В хокее работает) хз почему, мб из-за того что у меня UnityObject.js старый, хз)

но ты еще вроде писал в скайпе, что все-таки НЕ работает когда пробуешь хоккей через ЯБраузер?

Re: Блокировка в Chrome

СообщениеДобавлено: 02 мар 2015, 06:50
ikhtd
Для этого нужно сделать второй div, который поместить под div плеера следующим образом: http://www.webremeslo.ru/css/glava12.html

гениально.

Re: Блокировка в Chrome

СообщениеДобавлено: 02 мар 2015, 11:43
Diab10
gnoblin писал(а):
Diab10 писал(а):
gnoblin писал(а):у тебя в хоккее тож не работает?


В хокее работает) хз почему, мб из-за того что у меня UnityObject.js старый, хз)

но ты еще вроде писал в скайпе, что все-таки НЕ работает когда пробуешь хоккей через ЯБраузер?


ага