Cordova's Dynamic Scrolling Feature for iOS Overflowing Elements

When using the Safari iOS browser, listening to scroll events triggers the console message every time, even during momentum. However, in the Cordova built app, the message is only triggered when the scroll has stopped.

el-with-webkit-overflow-scrolling-touch.on('scroll', function()
{ i++; console.log('Scroll: ' + i); }

);

View the GIF in the Cordova app here:

View the GIF in Safari browser using the same emulator:

This issue also occurs on real devices.

While it appears to be a bug, perhaps someone knows of a quick hack or fix for this. Bug reported here:

Answer №1

This particular plugin is quite helpful but would benefit from some thorough testing:

Referencing the issue raised in the following question: Phonegap onscroll not working untill scroll stops and discussed further in this article:

Despite Apple's implementation of scroll behavior changes in iOS Safari and WKWebView, the older UIWebView control remains unaffected. Furthermore, due to a significant bug in the newer WKWebView control, the Cordova team is unable to make the switch for now.

As a result, Cordova apps running on iOS 8 are still experiencing pauses in JavaScript execution until the upgrade is made. It's worth noting that this impact extends beyond just Cordova apps - other iOS apps utilizing web views (such as Facebook, Twitter, and Chrome for iOS) will also face the old behavior until they transition to WKWebView. This inconsistency means that opening the same URL on different iOS apps could result in varying behavior based on the API they are using internally.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Optimizing STL performance on Apple's iOS platform

STL has won my favor due to its uncomplicated syntax and adaptability. There are instances when using STL becomes mandatory as Foundation array and dictionary are unable to hold non-object values. Therefore, I am curious about the following: Does using S ...

Angular-Loopback-SDK: The method prototype$updateAttributes is not functioning as expected

I'm currently utilizing the loopback-angular-sdk and encountering a strange error while using the updateAttributes function: MyModel.prototype$updateAttributes is not a function This issue seems to be affecting all models. I have a hunch that it mig ...

A guide on retrieving values from programmatically created input elements in Java

Here's the HTML code that I am currently working with: <form method="get" action="#" id="startForm"> <input type="text" name="period" id="period" placeholder="The number of days"/> <input type="submit" name="submit" value="subm ...

Issue with AJAX request on Internet Explorer versions 8 and 9

This script is functioning properly in Internet Explorer 10 and above, as well as Chrome and other browsers. However, it encounters issues specifically with IE8 and IE9. <table id="table" border="1"> <tbody style="display: table-row-group"&g ...

Limiting the quantity in SimpleCart (js)

Currently, I am working on a WordPress website where I am using simpleCart(js) to add a shopping cart feature. I sell unique articles and do not require users to add more than one article to their cart. My main concern is how to prevent users from adding ...

Effortlessly upload images with just a single step using Google App Engine

I have been working on implementing a basic image uploading functionality for Android, iPhone, and web clients to the Google App Engine. I initially followed a blog post for the implementation: this blog post. However, it seems that there is always a two- ...

Trigger an action in the clean-up function of useEffect

I am facing an issue with a form component in a Material UI <Tab /> where users can update their address information. The data is fetched from the API using redux-thunk, and the form fields are pre-filled with server data before the update occurs. h ...

Encountering an issue with googleapis in Vue.js: Error - The argument labeled as "original" must be of type Function

Attempting to retrieve rows from a Google Spreadsheet using googleapis for a Vue project. I have set up the necessary project and service account credentials in the Google console. However, upon clicking the button, I encounter this error: TypeError: The " ...

I am looking to sort users based on their chosen names

I have a task where I need to filter users from a list based on the name selected from another field called Select Name. The data associated with the selected name should display only the users related to that data in a field called username. Currently, wh ...

The server is unable to process the .get() request for the file rendering

Struggling with basic Express routing here. I want the server to render 'layout2.hbs' when accessing '/1', but all I'm getting is a 304 in the console. Here's the error message: GET / 304 30.902 ms - - GET /style.css 304 3.3 ...

Display Information in Tooltip Using Text from a Different Source

I'm seeking a way to create tooltips on a webpage that provide definitions for specific words. However, these definitions are located on a separate page within the same website. Is it possible for me to extract the text I need to display in the toolti ...

The function onKeyDown is not working properly

I am currently working with a Material-UI Table and have the following code: <Table onKeyDown={event => console.log(event)}> <TableBody> ... </TableBody> </Table> Despite having the onKeyDown event listener set up, I a ...

When a user clicks a button, Javascript will generate a fresh upload image form

I am interested in creating a button that, when clicked, generates a new image upload button within a form I have already created in HTML. My goal is to figure out the best approach for this functionality, especially considering that there is a remove butt ...

Transforming a NSString into the name of an object

NSString *q = @"Day"; NSArray *shu = [NSArray arrayWithObjects:[NSString stringWithFormat:@"%@1",q]; [[self.shu objectAtIndex:0] setText: @"HI"]; In this particular code example, the goal is to populate an array with NSStrings. However, the desired outcom ...

What is the best way to indicate a particular element within a subdocument array has been altered in mongoose?

I have a specific structure in my Mongoose schema, shown as follows: let ChildSchema = new Schema({ name:String }); ChildSchema.pre('save', function(next){ if(this.isNew) /*this part works correctly upon creation*/; if(this.isModifi ...

The call function in Tween.js fails to execute after adding an EventListener

I encountered an issue while using tween.0.6.2. The following code snippet (borrowed from the tween.js Getting Started page and slightly simplified) works perfectly: createjs.Tween.get(circle) .to({x: 400}, 1000, createjs.Ease.getPowInOut ...

Is there a way to simulate a KeyboardEvent (DOM_VK_UP) that the browser will process as if it were actually pressed by the user?

Take a look at this code snippet inspired by this solution. <head> <meta charset="UTF-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> </head> <body> <script> $(this). ...

Display a bubble with a random annotation when the map view loads and zoom in automatically

Trying to zoom to a random annotation and automatically open the bubble as well has been a challenge for me. I set up my annotations in the viewDidLoad like this: ...arrays... for (int i=0; i<22; i++){ MKPointAnnotation *annot = [[MKPointAnno ...

What's the deal with this error message saying val.slice isn't a function?

In the process of developing a web application using express with a three-tier architecture, I have chosen to use a mysql database to store blogposts as a resource. Here is an illustration of how the table is structured: CREATE TABLE IF NOT EXISTS blogpos ...

Optimizing jQuery scripts by consolidating them to reduce file size

I've created a jQuery script that performs the same task but triggers on different events, including: Page load Dropdown selection change Clicking the swap button Typing in a text field However, I had to write separate scripts for each of these eve ...