Comments (2)
I'm not familiar with UIKit, so I can only guess:
It looks like UIKit is using MutationObserver to run JavaScript whenever an element enters or leaves the DOM. Unpoly replacements manipulate the DOM, so UIKit JavaScript will run when Unpoly changes anything.
The stack trace above shows that you're using the up-keep
attribute. To process up-keep
elements, Unpoly needs to temporarily detach keepable elements from the DOM. It looks like UIKit runs its JavaScript on detached elements, but crashes because it cannot find the element's scrolling viewport (to measure scroll positions or something).
The major change in Unpoly 0.50+ is that we're now using native promises instead of jQuery deferreds. This means that async code now runs in the next microtask instead of the next task. This may have changed the order in which async code in Unpoly and UIKit is scheduled.
You could try to make your app work without [up-keep]
, but it doesn't change the underlying issue that UIKit seems to assume that it is the only code working with the DOM.
from unpoly.
Thank you, this information will be helpful.
from unpoly.
Related Issues (20)
- Hide focus ring when following an [up-instant] link HOT 1
- Please support `up.reload(":none")` HOT 3
- Respect unpoly attributes on form submitters HOT 2
- snipcart with unpoly HOT 2
- Incorrect docs: Event target for 'up:form:submit' is not always the form HOT 5
- Is up-disable broken? HOT 2
- JS error when using up-submit: Uncaught up.Error: up.on(): The "up:click" callback function executeEmitAttr; EDIT: Putting the script in the end of body breaks the js HOT 2
- `up.animate` does not respect `duration: 0`
- Question: Async code in 'up:form:submit' possible race condition? HOT 2
- no transition with tailwindcss
- Web Component form field dropped by up-submit HOT 2
- Can unpoly exchange HTML fragments through WebSockets?
- Look at explicit port for cross-origin detection HOT 1
- Successfully submitting a form within a layer with the param up-layer='root' closes the layer with up:layer:dismiss and not up:layer:accept event HOT 1
- Watching fields requires multiple-values checkboxes to have a `[]` name suffix HOT 6
- Handle links with anchors that start with a number HOT 1
- Handle links with anchors that start with a number HOT 1
- Browser does not loose it's zoom state between page navigations on smartphones HOT 1
- URLs with redundant slashes cause Unpoly to trigger a `DOMException` HOT 1
- HTML lang attribute is not updated on link follow 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 unpoly.