Buttons appear to disabled after the screen refreshes the second time - javascript

Folks,
I have an extremely weird issue that I just cannot figure it out. Let me explain it in a very simple way. I have two servers (DEV and TEST) and each of them I have deployed the same version of the source code. Now everything works fine in DEV but TEST seems to be causing the problem:
Problem:
I have a webpage which is like a register account screen. Its got things like name, address etc. At the bottom is the save button. Once I click save, its supposed to give a warning message (its two buttons) that says I need to either click on the override or edit button. I click edit, come back to the same screen and hit save. Logically it should show the same override and edit buttons but they appear to be grayed out and disabled. And this is only happening in the TEST server.
Things I have already tried:
Pointed the TEST database to the DEV.
Pointed the TEST business rules to DEV.
Merged all possible dll differences from the DEV to the TEST.
The issue works fine in Firefox or Chrome. It fails only with IE.
The same code works fine in my local machine.
I am out of ideas. If anyone of you have seen similar issues like this please let me know how to figure this one out. I'm pretty sure its not a code issue as it works fine in DEV and my local.
Thanks everyone!

Related

HTML validation works on codepen but not on my laptop or IIS

First question but I've been using the site for over 8 years so please bear with me. All help is greatly appreciated. I've spent a couple of days and far too many hours now on this.
I have a web page that uses the default HTML validation via the input element required. In codepen the "message" is displayed if I don't populate the field. I added css to also make the background yellow. In codepen everything works great but on my laptop I get the yellow background but the majority of the inputs don't show the message. What's really strange is that some of them will give the message but the majority don't. I even have three within the same div and one gives the message while the other two don't. Same exact code except for the id & name. I know it recognizes the validation error because it triggers the css to change the background (input:invalid:focus), scrolls to it but no message.
I thought maybe it was my code so I exported the codepen and ran it from the unzipped /dist folder. Same behavior as the original code on my laptop. I emailed codepen and when they export and run from the /dist folder all of the fields show the message for them. I pushed it out to an IIS server and I get the same behavior as I do on my laptop, some messages display and some don't.
There aren't any errors in the console either. I'm at a loss. The code is too large to include and if I put a link to the codepen it forces me to include the code. I'm using Chrome 94. I ran the HTML through the W3C markup service and no errors. The codepen HTML does contain errors from the W3C markup service but still works whereas the HTML with no errors locally doesn't.
codepen:
codepen shows the message
local (exported codepen):
local no message but scrolls to it & changes background

Nav menu not appearing for a single user using chrome

We have recently changed our navigation menus. They have been working fine for everyone except for one user only when that user is using chrome.
The menu will render when they hover over an option the first time but after that, no menus render (see screenshots).
We are using the exact same version of chrome rendering the same website. Has anyone else ever experienced anything like this or have any ideas what could cause this?
Working:
Broken:
Looks to me very much like a caching issue. Some of the JavaScript or CSS from before the update may still be stored in the user's browser cache.
To resolve this, clear Chrome's browser cache.
You can access the relevant dialog via ctrl+shift+del.
I was finally able to resolve the issue.
Firstly, everyone was using the same version of chrome in incognito mode with no extensions and a cleared cache so we're still not sure why only one specific user was getting the issue and no one else. Also that user was 2000 miles away so we could not physically debug on that machine. (It was an manager/admin with sensitive info on the machine so RDP was also not an option)
I was finally able to reproduce the issue by testing using Chrome Canary and discovered that the issue was directly related to hiding the sub-fly-out menus off screen using left -999999999px instead of display: none. Apparently just holding the '9' key down for a few seconds was a bad idea and it seemed to cause an overflow error of some kind and changing the left value to -9999px instead fixed it for that user and everyone else in Chrome Canary.
Thanks to everyone who contributed.

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.

Chrome Inspect Element is not showing all Javascript

The current project I am working on builds a page's javascript code based on some conditions. All the code works but when I go to the Developer Tools to see it, it is not showing. Or more like it is truncated and 3 dots added at the end.
It seems to be a change with the recent update. It is extremely annoying to not be able to see everything. Does anyone know how to make it show everything? If it helps, I'm working on a mac. Thanks.
Chrome Version 42.0.2311.152 (64-bit)
If you right click on the <script> tag and select "Edit as HTML", you'll be able to access the whole script, without the hyphenation.

FireFox has stopped showing JS

Last night, I was trying to debug a particular bit of vanilla JavaScript on a private page.
After a half an hour or so, the browser crashed while in the middle of stepping through a troublesome section.
When FireFox restarted, FireBug insisted that there was no JavaScript on the page - does anyone have any ideas what is causing this? Clearly the JS was (nearly) valid before the crash, and wasn't changed before I restarted. The only thing I can see, is that FireBug probably installed an update at that point?
I've tried cutting out all of my code, but nothing seems to make a difference. Other pages, even on the same intranet site, still work, but this one doesn't list any files under the "Script" drop down.
I've compared with the built-in Dev tools, and they also show no JavaScript loaded. The JS is a form submission handler, and clearly it is no longer running when the form is submitted.
I struggled with this for much of today. Eventually resolved it by creating a new profile.
I would be very interested in learning of the root cause if anyone figures it out.

Categories