Виджеты Экспресс-панели
-
@sphera В планах, кстати, добавить фильтры для удаления ненужных элементов. Как
selector
, только наоборот. Но там могут быть проблемы как с блокировщиками рекламы: элемент удалили, а пустое место осталось.Сейчас занимаюсь реализацией перетаскивания виджетов, чтобы можно было менять их местами. Само перетаскивание уже сделал, сейчас занимаюсь сохранением порядка в IndexedDB, чтобы после перезапуска порядок восстанавливался. Как разберусь с IndexedDB, можно будет делать какой-то интерфейс для добавления и удаления виджетов прямо в браузере, без перезапуска. А после этого, пока в мечтах, то самое выделение куска страницы мышкой, но я пока вообще не представляю, как это сделать
-
@sphera Так у тебя же есть код, добавляй, что хочешь. Вместо
margin
там естьpadding
, за него и перетаскивать можно будет, когда обновлю код. А насчет лишних полей: попробуй увеличитьtimeout
, сайты иногда что-то добавляют уже после фильтрации элементов. -
Теперь виджеты можно перетаскивать! При этом порядок виджетов сохраняется после перезапуска браузера. Если в
WIDGETS
меняется набор виджетов, порядок сбрасывается, и виджеты располагаются так, как указано в этой опции. Тянуть можно заpadding
виджета, так что лучше его добавить, если пользуетесьAPPEARANCE_PRESETS[0]
. -
Предлагаю еще вариант развития. Добавить какой-то блок, который скрипт будет выводить как чистый НТМL. Сайты иногда предлагают те же самые <iframe> или чистый код. Размеры там всегда есть свои.
Пример , известный : https://ru.tradingview.com/widget/mini-chart/Я слышал , что <iframe> как-то брабатыввется обрезанным способом. Или еге счетчики обходят, не ранжируют.
Но нам это без разницы.
У меня страница, специально написана для <iframe> , те. Без шапки, только объект. Зато я там использовал, все что мог. И этот <iframe> прекрасно показал все в окошке, как и задумано. Хотя на этом <iframe> сайты старые так и написаны, только без окошек.
Т. Е. Ждем возможность вставлять свой HTML, но в твой Flex -
А если я вторую страницу заведу, скрипт не вспотеет ?
(Чуть почистил свои предварительные месседжи по JS и по старой версии Widgets. Тема чуть ужалась.) -
у меня перетаскивание не работает. Но курсор меняется, контур шевелисят . Значит, скрипт жив. На 2 виджетах , может, и не должно таскаться.
-
- Убрал пресеты внешнего вида, по умолчанию оставил второй вариант. Просто чтобы избавить себя от лишней головной боли.
- Добавил
cursor: move
дляpadding
виджета, чтобы было понятно, что за него можно тянуть. - Добавил увеличение
paddingTop
виджета при наведении на виджет, чтобы за него можно было удобно перетаскивать и не целиться в небольшойpadding
, который установлен по умолчанию. - Добавил
window.scrollTo(0, 0)
в скрипт фильтрации, так как иногда виджет пропадал из поля зрения.
-
Впору такой виджет добавлять
-
Пытаюсь уменьшить порог вхождения, то есть всё должно работать сразу, без предварительной настройки. Сделал дефолтными следующие параметры:
START_PAGE_BUTTON
теперь по умолчаниюnull
, то есть виджеты будут отображаться во всех Экспресс-панелях. Если хотите, чтобы виджеты отображались в одной конкретной Экспресс-панели, нужно заполнить эту опцию ее названием.WIDGETS
теперь по умолчанию заполнен двумя стартовыми виджетами: моим профилем и последними релизами Vivaldi.
-
@aminought все отлично, и перетаскивание работает. НО ! Только справа налево (интересно, скрипт учитывает право-лево ? ). И только методом наложения, т.е на соседний виджет, а не рядом с ним (о чем и говорит курсор).
А то некоторые, не разобравшись в начале, начинают обвинять, что drag-n-drop не работает.
Нет ! Работает и слева-направо, но по более длинной траектории , т.е. через 1 виджет.
Наверное, это связано с нумерацией от левого верхнего угла. -
@sphera Перетаскивание работает просто: виджет встает перед тем элементом, на который его дропнешь.
-
@aminought да , точно. А то я уже придумал расчет координат в 3 проекциях.
-
@aminought есть возможность в будущем добавить в этот JS место для своего HTML , но с оформлением как всех виджетов ? Хотя бы теоретически ?
Но в этом HTML все равно будет <iframe> , т.к. что-то интересное обычно не состоит из одного текста. -
@sphera Твой виджет и сейчас можно добавить. Просто создай локально
html
-файл с кодом и добавь этот виджет, изменив путь до файла на свой:{ id: 'TradingWidget', url: 'file:///C:/Users/aminought/Documents/Vivaldi/trading.html', selector: 'iframe', zoomFactor: 1, width: '350px', height: '188px', timeout: 1000 }
-
id: 'MusicWidget', url: 'https://seregasmyfavoritesites.on.drv.tw/Site/Tihomir/music.html', selector: 'iframe', zoomFactor: 1, width: '450px', height: '388px', timeout: 1000
@aminought , благодарю за предоставленную возможность. Я горд тем, что сделал первый анимированный виджет !
Это просто <iframe> в чужой плеер.
Музыка в комплекте -
Фигово, конечно, что они начинают перезагружаться даже если экспресс-панель не закрывать, а просто переключиться на другую вкладку и обратно
-
@sphera Я сначала посмеялся, конечно, а потом понял, что там и на самой странице плеер крутится. В чем тогда прикол?
-
@sedative29rus Наверное, можно как-то полечить с абсолютным позиционированием, но не хотелось бы. А чем это мешает? Тем, что какой-нибудь плеер туда не впихнуть?
-
@aminought , зачем его лечить. Все работает именно так, как и задумано: 3 совмещенных анимации. Transform: rotateXYZ() -- ничего более.
-
@sphera Про "полечить" я @sedative29rus писал.