Всем привет, есть вот такая диллема, и я не могу понять что здесь происходит:
-- Место действия: отладочная панель Yii2
-- Проблема поста: нужно добавить динамический вывод размеров окна браузера в эту самую панель, есть вот такой скрипт кнопок:
<div class="yii-debug-toolbar__block">
<a id="tt1" href="<?= $panel->getUrl() ?>"> 123</a>
<a id="tt2" href="<?= $panel->getUrl() ?>"> 222</a>
</div>
И есть js код, расположен сразу после блока, прямо в этом же файле
<script>
window.onresize = displayWindowSize;
window.onload = displayWindowSize;
function displayWindowSize() {
myWidth = window.innerWidth;
myHeight = window.innerHeight;
// сначала пытался в этот элемент просто добавить innerHTML, не получилось
// в логах нашел editable, на всякий пожарный поставил в true(не знаю
// насколько это тут реально нужно и уместно)
var tt2 = document.getElementById("tt1");
tt2.contentEditable=true;
tt2.innerHTML ="'w:"+ myWidth+"'";
console.log(tt2);
};
</script>
Еще немного вводных данных:
Но, вот при всём этом результат такой же, как и на шаге 1.
Подскажите пожалуйста, что я не учёл(или не знал об этой механике изначально), что данный скрипт ведёт себя таким образом
Финальное решение: благодарю @grinat за ваш вариант. В конечтном итоге, в файле toorbar.js после родного yii2 кода вставился мой кусочек:
window.onload = displayWindowSize; // тут сработал сразу и без воопросов
window.addEventListener('resize', displayWindowSize); // тут window.onresize ... не работал, нашёл работающий вариант
function displayWindowSize() {
var myWidth = window.innerWidth;
var myHeight = window.innerHeight;
var tt1 = document.getElementById("tt1");
var tt2 = document.getElementById("tt2");
tt1.innerHTML ="w:"+ myWidth;
tt2.innerHTML ="h:"+ myHeight;
console.log('123123');
};
contentEditable не нужен, он превращает блок в редактор разметки. Скорее всего, ты не учел что эта панелька динамически подгружается через ajax запрос: https://github.com/yiisoft/yii2-debug/blob/master/src/assets/js/toolbar.js#L50 поэтому где и что ты сумел изменить большая загадка
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пробовал использовать метод windowclose(); но он работает не во всех браузерах и в консоли появляется строка: Scripts may close only the windows that were opened by it
Подскажите как можно реализовать такую сортировкуНет ни каких идей