Comments (4)
Надеюсь, что когда-нибудь этот момент починят (например, добавив всё-таки параметр adaptivity в бридж на vk.com
Написал ребятам про дорабку, жду ответа.
Уберу проверку на !(data in adaptivity)
, чтобы появился доступ хотя бы к viewport_width
и viewport_height
from vk-bridge.
Выпустил версию @vkonktate/[email protected], где убрана проверка на !(data in adaptivity)
.
Это позволит делать так:
default:
return {
viewWidth: getViewWidthByViewportWidth(viewportWidth + 86), // про 86px не знаю нужен ли всё ещё будет
viewHeight: getViewHeightByViewportHeight(ViewportHeight)
}
Надеюсь, что когда-нибудь этот момент починят (например, добавив всё-таки параметр adaptivity в бридж на vk.com
Параметр adaptivity
добавят в доку. Но в vk.com и в mvk.com пока определяться параметр не будет 😔 adaptivity
нужен в первую очередь для WebView в нативных приложениях Android/iOS.
from vk-bridge.
Привет,
Узнал, что vk.com бридж не отдаёт параметр adaptivity
, его отдают только Android/iOS :(
Вообще, для десктоп, лучше оставить автоопределение адаптивности. Но если хочется перебить, то тогда предлагаю в transformVKBridgeAdaptivity
передать желаемые значения по умолчанию, вот так:
export const transformVKBridgeAdaptivity = ({
type,
viewportWidth,
viewportHeight,
}: UseAdaptivity): AdaptivityProps => {
switch (type) {
case 'adaptive':
return {
viewWidth: getViewWidthByViewportWidth(viewportWidth),
viewHeight: getViewHeightByViewportHeight(viewportHeight),
};
case 'force_mobile':
case 'force_mobile_compact':
return {
viewWidth: ViewWidth.MOBILE,
sizeX: SizeType.COMPACT,
sizeY: type === 'force_mobile_compact' ? SizeType.COMPACT : SizeType.REGULAR,
};
default:
return {
viewWidth: ViewWidth.DESKTOP, // указываем значения по умолчанию
};
}
};
from vk-bridge.
Узнал, что vk.com бридж не отдаёт параметр adaptivity, его отдают только Android/iOS :(
Сейчас проверил, не отдает в том числе и m.vk.com
Вообще, для десктоп, лучше оставить автоопределение адаптивности
VKUI определяет десктоп только при ширине экрана >1024px, а максимальный размер фрейма, который возможно установить в настройках приложения, равен 1000px 🤷♂️ При этом событие VKWebAppUpdateConfig
, как видно на скрине выше, отдает почему-то 1086px, благодаря чему все-таки десктоп должен включаться.
default: return { viewWidth: ViewWidth.DESKTOP, // указываем значения по умолчанию };
Звучит плохо, при открытии приложения вне фрейма, а так же в m.vk.com, всегда будет десктоп. Пока сделал вот так:
default:
return {
viewWidth: getViewWidthByViewportWidth(window.innerWidth + 86),
viewHeight: getViewHeightByViewportHeight(window.innerHeight)
}
Выглядит чуть лучше, чем force десктоп в непонятных ситуациях.
Надеюсь, что когда-нибудь этот момент починят (например, добавив всё-таки параметр adaptivity в бридж на vk.com, либо разрешив делать размер фрейма больше, либо установив значения в 1000px для автоматического десктопного режима в VKUI). Спасибо!
from vk-bridge.
Related Issues (20)
- [Вопрос][VKWebAppDownloadFile] Загрузка файла из ObjectUrl HOT 4
- GetAuthToken - Unknown error HOT 2
- Метод VKWebAppDownloadFile не работает. HOT 6
- `VKWebAppOpenApp` is broken HOT 9
- Неверный тип для ответа CreateHashResponse на событие VKWebAppCreateHash HOT 2
- Добавить возможность вызвать снекбар в родительском окне для десктопа HOT 1
- Предложения HOT 2
- test
- test #2 HOT 4
- [Ошибка] VKWebAppCheckAllowedScopes с "group_messages" HOT 2
- test bot HOT 3
- Test ts HOT 1
- issue from member
- VKWebAppShowOrderBox не возвращает ошибки сервера HOT 2
- [Bug]: Test issue (don't touch)
- [Bug]: Test
- [Bug]:
- [Bug]: HOT 2
- [Bug]: ошибка при отправке пустого `scope` в `VKWebAppGetAuthToken` HOT 6
- [Bug]: Неверная типизация для возвращаемого ответа у метода VKWebAppShare HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vk-bridge.