Web page with scripted iframes not working on iPhone - javascript

I have a web page based on iframes, working on Android, Windows, and Linux. I can't test it on iPhone or MacOS, but people reported it doesn't work on iPhone.
The page is here: https://fractarchy.github.io/fractarchy-cms/
I'd appreciate if someone could help me working this out, or maybe to get me a report from Safari Developer Console, so I can draw my next moves.
I still have no data on what's happening on iPhone, I only know "it is not working" (probably not working on MacOS too).
On all other tested platforms, you should see this web page:

TEST COMPLETED ON IPOD
So I tested your website on an iPod and it looks like the computer version. Their are a few issues including the text overflowing on the initial big bubble, the text not appearing on the smaller bubbles and the dragging function not working. I believe that on iPhones, if you hold a spot on your screen for a few seconds, it zooms in. I think that's what's happening here.
Hope this helps.

Related

Webpage freezes in Safari on both iOS and OSX when the page reloads?

I'm using an iPhone 11 Pro with iOS 15.3.1.
I'm trying to figure out why when visiting my website, Safari is freezing most of the time when the page loads. Sometimes the page loads the first time I visit it, but on reload it basically freezes with no interaction.
When I connect the iPhone to a Mac and use the Safari inspector to connect to the webpage on the iPhone, the inspector is basically blank on all screens. If I go to the "Elements" tab, nothing shows. If I go to the "Console" tab and try to execute some Javascript, nothing happens when I press enter.
On OSX, I can see similar behavior, except I can actually open the inspector before I visit the page. In this case, when it freezes I can see a few elements in the "Elements" tab, but that's about it. Any sort of interaction I try to do in the inspector results in nothing happening.
I'm at kind of a loss. How can the development experience for such a popular OS/Browser be so terrible, and how do I work around the inspector itself not working? I can't replicate this freezing on anything besides Safari.
To be absolutely clear on my question:
What is your process to debug a webpage in Safari when it is in a state where the inspector no longer interacts with the webpage?
I did a broad divide and conquer of my app, commenting out top level code and working my way down uncommenting until I found the exact line that causes the freeze.
It seems calling HTMLInputElement.setSelectionRange() inside an onfocus event handler function caused an infinite synchronous loop in Safari, perhaps Safari synchronously blurs the input and refocuses for some reason when that function is called. And on page reload Safari was trying to focus on an input with that code automatically. That is my guess at least, removing the setSelectionRange() resolves the freezing problem.
Luckily, the freezing was fairly consistent so the divide and conquer approach worked. Unluckily, the inspector really should have done its job and picked up on the fact that the page was hanging and told me which function code execution broke at when Javascript was forced to stop, like Chrome or Firefox would.
If anyone has any better ideas for debugging these kinds of issues in Safari besides the programming equivalent of a short circuit test, I'll gladly accept the answer.

Javascript Screen WakeLock API does not work on Windows

The following demo works well on Android and IIRC used to work on Windows but now doesn't.
Can anyone else get the screen to stop going to sleep on Windows Chrome, Edge, or Opera?
After some testing, I guess you may have configured the power settings, so it does not work. But I think this is wrong. I think what you are describing should be the screen saver after Windows has not been operated for a period of time, not sleep.
Please try the following steps (reset your power settings, you can choose to set it to never: both display and sleep):
Right-click on the blank part of the desktop to select personalization
Select the Lock Screen tab
Click Screen saver settings
Set the required waiting time and apply
Retest the Wake lock API. It worked for me.

chrome on android : my webpages sometimes appears to be full black - need to ex rotate to get it shown?

got this really odd and frustrating issue on my android tablet/android phone, got a webapp (html5/javascript/css) that works fine on chrome desktop - but on mobile and tablet chrome, it happens all too often that when i click into a new page, then the output in the browser is just a pure black page.
What i then can do is to either rotate the device so the screen switches orientation and then the page appears like magic, or i can ex press the multi-tab button and then just click back and it shows.
So it somehow seems to be about redrawing not reloading the page.
Its not everytime it happens but it happens quite alot and i get nothing in debugging or any hints to what is going on.
Looked through the internet for similar issues and there are a few but they are either not replied or they are focused around some youtube issues back some time, or very old issues (2011/2012) - nothing that really points into the problem here.
Anyone have any idea here or input to how i can fix this without having the user to rotate the screen all the time ? its really affecting the usage.
note 1: it is quite heavy on some places on javascript so its not just a standard webpage
note :running latest android latest chrome on android
Look here. It's the same bug.:
How to fix black screen on Google Chrome mobile load page
The bug got fixed Feb 28: https://bugs.chromium.org/p/chromium/issues/detail?id=933374
But it doesn't seem to have made it in the next version of Chrome Android: https://chromium.googlesource.com/chromium/src/+log/72.0.3626.105..72.0.3626.121?pretty=fuller&n=10000
But the next version again should release with the bug fix (mid April?).
Meanwhile, did you find an easy js workaround for this issue?
Our site is currently useless until this bug-fix get released for Chrome Android?

Chrome browser not working as expected (onclick/onsubmit error?)

Here is one strange thing. Thanks for ideas.
My Chrome browser does not interact with some web pages as expected. When opening the pages on a different device (such as Browserstack or colleages' computers), everything works fine. There must be a problem with my device, it is obviously not linked to the browser version itself.
Example 1: click on element does not show reaction
When clicking on the small gray dots below the main image here, Chrome usually performs a caroussel switch. On my device, it does not. Clicks are constantly being ignored, although the automatic caroussel switch works just as on any other device.
Screenshot: i.stack.imgur.com/KR64m.png
Example 2: click on button does not show reaction
When clicking the button "Weiter" on this page in the lower right section of the page, my Chrome does not show any reaction. Works as expected on any other device.
Screenshot: i.stack.imgur.com/g8dHN.png
My Chrome Version: 33.0.1750.146 m (plugins disabled, surfing in anonymous mode)
OS: Win 7 Pro SP1 64 Bit
Thanks for help!
UPDATE:
I found out that my Chrome shows different results to a VisualEvent-check than Browserstack.
Have a look here:
My chrome (buggy): i.stack.imgur.com/Earrs.png
Browserstack (working): i.stack.imgur.com/zRRgA.png
What can I learn from that? There are two more event handlers
There are no VisualEvent differences for the second example, however.
UPDATE 2: On a MS Virtual Machine, everything works as expected:
My comment below
Hm do you deactivted your Javascript by accident?
https://support.google.com/adsense/answer/12654?hl=de
Have u tried a different browser on the same device?
I had this problem too, but it was solved by itself the next day. Maybe you just need to do a reboot?
Concerning my device, the issue is related to the fact that my device has a touch screen which Chromium does not know how to handle in the standard configuration. Considered a bug.
nzolghadr#chromium.org
The problem is with "'ontouchstart' in window" expression which the jquery.flexslider library uses. Right now on Windows Chrome returns that as true when you have chrome://flags/#touch-events enabled/automatic. Related issues are: crbug.com/467934, crbug.com/555746, and crbug.com/392584 which based on those it seems that Windows thinks something is touch enabled and Chrome just reflects that.
https://bugs.chromium.org/p/chromium/issues/detail?id=373991#c13

My HTML5 web app crashes and I have no clue how to debug

I have written a word game using HTML5 canvas tag and a little bit of audio. I developed the application on the chrome web browser on a linux system. Recently during the testing phase it was tried on safari 5.0.3 on Mac and the webpage froze. Not just the canvas element, but interactive element on the page froze. I have at some times experienced this problem on google chrome when I was developing but since the console did not throw any error before this happened, I did not give it much credence. Now as per requirements I am supposed to support both chrome and safari but this dismal performance on safari has left me shocked and I cannot see what error can be thrown which might lead to such a situation. Worse yet the CPU usage on using this application peaks to 70-80percent on my 2yr old macbook running ubuntu... I can only but pity the person who uses mac to operate this app, which undoubtedly is a heavier OS. Could someone help me out with a place I can start with to find out what exactly is causing this issue.
I have run profiles on this webapp on google chromes console and noticed that in the heap spanshot value increases steadily with the playing of the game, specifically (root) value which jumps up by 900 counts. Any help would be very appreciated!
Thanks
EDIT: I don't know if this helps, but I have noticed that even on refreshing the page after the app becomes unresponsive the page reloads and I am still not able to interact with the page elements but the tab scroll bar continues to work and I can see my application window completely. So to summaries the tab stops accepting any sort of user interaction inside the page.
Edit2: Nop. It doesn't work still... The app crashes on double click on the canvas element. The console is not throwing any errors either! =/ I have noticed this problem is isolated only to safari!
Edit3: Okay, so I performed some other tests today. I isolated the HTML5 widget and its HTML data only and ran it on safari locally to reproduce the error. Alas it works well! So I tried playing the game from my server without Facebook integration, and it works fine again! So The issue crops up only on safari on MAC OSX, while the widget is on Facebook canvas as a Facebook application. I am very hard-pressed to come up with a reduced test case scenario for this app... =/ It gets weirder, the game works well on safari for windows. Also after the tab freezes the other tabs continue to be responsive and well working. This tab too closes on clicking the close button and stuff, but if I load another page on this same tab after its frozen the page loads in the tab canvas, but I cannot interact with it. Not even google.com! So I am sure there is no bug with my game but its a safari bug... Will soon file a bug report, thanks for all the help people... :)
What you should do, in one sentence: Reproduce the problem with as little code as possible.
Start removing parts of your app until you find nothing that can be removed while still preserving the error. Start by throwing out external resources (css, images, etc) and leave just the html and javascript. Try removing the audio. Try removing as much gaming logic as possible. Try removing all user input code.
If this truly is a bug in Safari itself and not in your code, it should be possible to create a very small code example. Until you have that, saying "my web app doesn't work in safari", without any details or examples, will get you nowhere.

Categories

Resources