Unable to Change Button Selections on iOS Safari - javascript

On a webpage, I'm working on I have a series of buttons that are rendered on the page as repeating, generated <li> elements inside of <ul> tags. The selections are sequential, with a limit of one selection in the first list and the second list only being rendered after choosing from the first list. You can only choose one item in the first list and multiple items in the second one. When testing the webpage out on my iPhone I can't change my selection from the first section or deselect anything I've selected in the second list.
This issue is exclusive to pre-iOS 13 iPhones. Androids and iPhones with iOS 13 or later have no issues dealing with this page. This bug flew under the radar for me for a while because I was verifying my mobile changes by using the mobile view emulator on Chrome developer tools. The issue does not appear there.
I've looked everywhere for other people encountering this issue, but it doesn't seem that common. Should I tackle this via Javascript, CSS, or HTML?

So it turned out that this issue was due to jquery compatibility, and the fix was frustratingly simple. Just add onclick='' to the list elements and that restores normal intended functionality.

Related

Odd dropdown/select behavior in phonegap on iOS

We have a phonegap/ionic application targeting iOS. We have been testing with the ipad air simulator (xcode) and ipad air (10.3.3), ipad Pro (11.0.3).
The app is an ionic (v1) app that downloads and loads stand alone html files (the files contain css, html, js in one doc). The documents are typically long forms. In all test environments we are getting odd behavior with selects/drop downs.
When you click/tap on a select the options will appear correctly.
Then when you click/tap somewhere else, blank space or another input field you will usually get the select options bubble again but it will be empty.
In the above image I made my selection from the options and then clicked into the next field.
This was intermittent at first and now it seems to happen all the time. It seems like it has something to do with losing focus but I am unable to see why this is popping back up. I haven't found anything very useful from searching online in regards to this problem.
UPDATE 11/7/17
After more thorough searching this seems to be due to building the app with xcode 9 and/or the use of UIWebView vs WKWebview. I also looked through the code more to see we were already using WKWebView not UIWebView and the problem is still present. As someone mentioned in this thread.
Good thing is Cordova has support for WKWebView too. You have to install the plugin: cordova-plugin-wkwebview-engine

No outline on focused inputs in Firefox

It seems Firefox no longer displays an outline/highlight on focused elements. When I searched this topic, I got the impression that Firefox did this in the past by default, but discontinued it. Chrome, on the other hand, outlines the selected input with a light blue border:
I'm trying to create a Greasemonkey script in Firefox that allows users to scroll through checkboxes/radio buttons using the arrow keys. Whichever input is focused should be highlighted so users know it is selected.
Is there anyway to do this in the browser itself, i.e. make it so Firefox highlights the selected elements on pages by default? (Other than downloading a previous version of Firefox or adding CSS to my web site (I need this to work across sites))
I'm using Firefox 40.0.1 and Chrome 55.0.2883.87
Add input {outline-style: auto} in CSS file

Angular 2 Application reacting very slowly only while Chrome DevTools is open

My Angular 2 Application is slow to respond (1-5 seconds) to key input, button clicks, tabbing across inputs, etc. only when Chrome Developer Tools is open. Material 2 animations also become slow and choppy.
I've been developing this application for three months, and use Chrome DevTools every day. This issue cropped up seemingly overnight.
What I know:
I stashed all pending application changes to revert my application to a time when this was not a problem. The issue persisted.
Chrome DevTools doesn't seem to slow down any other application (ie. google inbox, google maps) in the same browser session.
Maddeningly, when I run the DevTools' Timeline "Record" to try to gain visibility into the issue, the issue disappears and the page reacts at normal speed again! I assume this is the best clue that I have, but I don't know the internal workings of DevTools well enough to know how "Timeline Record" changes things.
I've restarted Chrome and deleted all cached data.
Nothing of the sort happens in Firefox or IE when I open the Developer tools in those.
Any recommendations on where to look next would be greatly appreciated!
Final answer:
Remove all breakpoints
Even if they're not getting hit this fixed it for me and got performance back to normal.
May be a bigger issue if you have logging breakpoints - so try deleting those first if you're attached to your breakpoints.
Previous answers:
I came up with a workaround - although still not really figured out what is actually wrong.
I also discovered a bunch of tools I didn't even know existed that I'd skipped over before - they're under More tools.
Start by opening the Performance Monitor. This shows a nice CPU graph isolated for your Chrome tab - the Windows task manager is as useless as it ever was.
This is the behavior I got when choosing a date from mat-calendar. No other logic running - just selecting a date. I removed everything from app-component and just put a mat-calendar and it took ten seconds to change the date!
Other controls are generally fine. I could open dialogs, use combo boxes etc. and nice and fast. But selecting a date gave me this nonsense:
I tried emptying local storage, clearing cache, etc. and then I changed port number for my website. I simply changed dev.example.com:44300 to dev.example.com:44301 - in other words Chrome now thought it was a different website.
This is what it looked like after I switched port number.
I also got the same effect using a reverse proxy server - which put my local machine on the internet - so I could try to duplicate the issue from other machines. I could not.
So hope that helps someone - still no clue what's in the cache for this server that is having such a massive impact on performance. But for sure it's not just my code.
Here's a few other things to try:
Test with --aot flag
This didn't make a difference to me, but good to narrow things down.
Add some controls that don't do anything (as a control)
This way you can find if some specific action or control is causing the slow down. You should of course be able to toggle these instantly.
Just toggle them on and off, hide something.
<mat-radio-group>
<mat-radio-button [value]="false">
bloop
</mat-radio-button>
<mat-radio-button [value]="false">
bloop bloop
</mat-radio-button>
</mat-radio-group>
Enable Rendering debugging options
Make sure you aren't re-rendering the whole page constantly
The rendering option above will show this to some extent, but one thing I like to do is just add a random text box - type in it and if the text subsequently disappears you know that control has been rerendered.
<!-- yes, just a standard text box -->
<input type="text"/>
Just hide things with *ngIf="false"
Hide controls (yours and third party) and see if anything is causing problems.
For me I'm currently suspecting mat-calendar is causing issues - but I'm still thoroughly confused as to why enabling 'Record' makes the problem non existent.
I've fixed the issue, but I'll never know what was causing it. Likely a setting that I had accidentally changed.
I deleted the Chrome App and reinstalled, everything is back to normal. I'm going to leave this question open in case anyone else has this problem or wants to contribute.
It is normal for every web app to run slowly with Chrome dev tools opened.
Especially if you have inspect tab open, that it's like a new page opened in the same time + has animations on any block render.
We had this issue today at a colleagues workstation. Turned out that it was a chrome-extension (don't remember, something with "ghost" in its name). So maybe try out using guest-mode and check whether the issue still occurs. If it doesn't, successively reactivate the extensions to see which one is causing the problems. If it still occurs, follow the other proposed approaches.

.NET 2.0 compatibility issue with Chrome and IE 10

We've a .NET 2.0 website that uses Javascript to do a lot of things, such as populating drop down lists and validating pages.
users have reported some problems when they use the website with Chrome, Firefox or IE 10 or later. The problem or problems i should say are different
some drop down list don't get populated, just empty lists.
Labels are not shown, so you see a text box with no labels!
anyone had same issue before?
Thanks

Windows 8 Javascript app dropdown acting like a spinner on slate?

I'm designing a windows 8 metro style app using javascript and I have a dropdown that populates with items.
On windows 8 it on my desktop it works like a normal dropdown.
On windows 8 on a slate if there's more than a couple of options it acts similar to a spinner - i.e. the options are in a loop and as you scroll down it starts from the beginning again.
This makes it a little confusing in my app.
Is there any way to disable this functionality and have it act like a regular dropdown?
Just as a note for anyone who might be wondering about this as well, it appears that the "spinner" feature is by microsoft design. There does not appear to be a way to prevent it.

Categories