Post not yet marked as solved
We found that canvas of the same size is more blurry in iOS 16 Beta 3. Here's the code:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
<style>
#app {
height: 586px;
width: 1170px;
}
</style>
</head>
<body>
<canvas height="586px" width="1170px" id="app"></canvas>
<script>
const el = document.getElementById('app');
const ctx = el.getContext('2d');
ctx.font = '80px Arial';
ctx.fillText('Hello World', 100, 100)
</script>
</body>
</html>
Oddly enough, if you set the height of the code above to 585 px(one pixel less), the text on the canvas becomes clear. This will only happen with iOS Beta 3.
ref: https://bugs.webkit.org/show_bug.cgi?id=242847
Post not yet marked as solved
We have a single page app written in HTML/Javascript and our customers are experiencing intermittent freezes when using HTML select drop downs on Safari on iPads in all versions of iOS 15, but not on iOS 14 or earlier. Freezes often seem to occur when coming out of sleep mode. Closing Safari and reopening fixes the problem, but its still an inconvenience if input hasn't been saved etc. We have some legacy jQuery Mobile drop downs, but the problem occurs both with those and with plain JS ones.
We've tried restarting machines, checking storage, turning off any Safari extensions, turning off GPU Process Canvas Rendering (which seems to be on by default in iOS 15) and more. It doesn't seem to be specific to particular models as users have a wide range of these.
I know the UI of select elements was changed in iOS 15 - has anyone else experienced problems with this?
Post not yet marked as solved
This is the last question I have to buy an iPad Pro.
At the moment I only need to debug web pages in safari, but it would be ideal to also be able to debug applications.
An alternative and very useful solution is the safari on the iPad Pro to have an inspection tool like in Chrome or Safari for desktop...
Post not yet marked as solved
Ios 15 iphone 7+ safari and chrome cant open videos they stay black
Post not yet marked as solved
Hello all,
I am currently developing a video streaming site and am currently working on the video player. The site will be serving video content using HLS given that this will be quite sizable and long video content.
Given that the main functionality of the site is to watch streaming video, when a user clicks on a video to watch, when the video player page opens, the desire is to have the video start playing automatically with sound.
Safari autoplay policy basically rejects attempts to autoplay video content with audio unless the audio starts muted, otherwise, the user needs to interact with the player in order to start the video playing with audio unmuted.
Given that the main purpose of the site is to watch these videos, it would be hugely detrimental to require the user to interact with the player to either start playing the video, or to unmute it.
Many sites such as YouTube, Twitch, and others obviously have autoplay functionality that works as I would expect for a video-centric site in Safari. Given their size, I imagine they have some agreement with Safari team to have their site pre-authorized to allow autoplay with audio. How do I go about doing this?
Hoping someone might be able to share some information that would be useful to ensure I can have things configured correctly such that my Safari users won't have to suffer having to manually start playing, or turn on their audio in order to enjoy the videos the same way Chrome and Firefox users will automatically.
Thanks!
Post not yet marked as solved
We need a web app that can operate offline (in cars and small aircraft), hence a need to store data, including a lot of map tiles, and not have it disappear after seven days (due to ITP restrictions).
I have read articles suggesting that a PWA (Progressive Web App) launched from the Home Screen does not have the persistence time limit, but cannot find documentation from Apple stating this one way or the other.
Also, can one store more than 50MB if using IndexDB?
Is there a definitive answer to either issue?
Post not yet marked as solved
I am using Safari Technology Preview(16 version).
With this version we can use Shared Worker, but how to debug it?
For example, for Service Workers I see a separate menu item, but for Shared Workers I didn't find anything.
Is there anyone who knows how to debug Shared Worker and see its logs?
Post not yet marked as solved
We are seeing a difference in WebAuthn behavior between Safari desktop and mobile in iOS 15.5.
If a user logs out of our site but keeps the session alive by having Safari remain open, upon logging in
they are unable to re-authenticate using WebAuthn in iOS 15.5
The error we're seeing is:
"User gesture is not detected. To use the WebAuthn API, call 'navigator.credentials.create' or 'navigator.credentials.get' within user activated events."
Observations:
This works in Safari desktop.
It worked in Safari iOS prior to iOS 15.5
Reloading the page in iOS 15.5 allows it to work normally.
Something about the JavaScript environment seems to prevent WebAuthn re-authentication without reloading the page.
Why is the behavior different between desktop, iOS 15.5, and previous versions of iOS?
Any insight or suggested work-around would be appreciated. What are we missing?
Post not yet marked as solved
Hi All!
I've encountered an issue/feature that seems weird to me, and I'm unsure where to look for documentation.
If I have audio playing from, say, apple music or Spotify. The output volume is briefly lowered when entering a website asking permission to use the microphone. For example, entering a google meet page. I first found this while developing a web app using the Chime SDK and a WebKit Webview, but like mentioned above. It can be reproduced with google meet as well. This leads me to believe it's either connected to asking for microphone permissions or to something in the WebRTC connection. The volume is lowered for internal speakers and an external soundcard. However, if audio is playing from another tab in safari, the audio is not affected.
Also, doing the same thing in chrome does not lower the volume.
Anyone knows the reason for this. Is it a feature or a bug?
Best,
Ruben
Post not yet marked as solved
On macOS we have SFSafariExtensionManager and
class func getStateOfSafariExtension(withIdentifier: String, completionHandler: (SFSafariExtensionState?, Error?) -> Void)
Which allows us to inform the user in the container app if the extension is currently enabled.
This API is not available in iOS. Is there a technical reason or policy behind this or is it just a missing feature in which case I will raise a feature request?
The "Default Web Browser" setting appears to be missing on MacOS Ventura beta 1 - beta 3.
Steps to reproduce:
Click Apple Menu
Select System Settings > General
Observe that Default Browser setting is missing
Search Settings for “Default Browser” and notice that the setting is missing
Is anyone else experiencing this issue?
Any suggestions to resolve or work around this?
Thanks!
Post not yet marked as solved
According to the release notes of STP, OffscreenCanvas has been implemented for a while. However, when I run JavaScript code, it fails because OffscreenCanvas is not a recognized command. I feel I’m missing something obvious here. Any help?
Post not yet marked as solved
The Develop menu supports an option to disable restrictions for all websites, but is there a way to limit it to specific hostnames?
What I really would like to use is a setting to make Safari behave like Chrome and Firefox which have not yet implemented these restrictions.
Post not yet marked as solved
Hello,
I am in the process of converting a Web Extension to a Safari Extension. I need to use browser.downloads.onCreated.addListener in my extension but the browser.downloads API is not supported yet.
Do I have another way to do that?
Post not yet marked as solved
Project goal:
Publish on iPad html/css static multi page site, external style sheet, images, and maybe animated GIF clips or very short videos. This would get pushed to about 14,000 users for viewing and not require them any technical hoops to utilize.
This must run offline from iPad Files storage no calls to server.
Problem:
Apple at some point disabled the ability to open local files in Safari. This means you cannot open an HTML file with relative src references such as <img src="test-image.png" alt="grrrrrr" />
You can only "open" or view the file via the Files app on iPad.
I have tried changing advanced settings , disable local file restrictions etc for at least previewing my own work via developer mode, cabled iPad as an exercise in futility.
Current Project state and or Limitation:
"Publish" or saved single file HTML document to the iPad.
View file in Safari - Unable not allowed
File-name.html view via iOS Files app
Files app renders the html file with only the internal text and internal header contained CSS styling.
Files app fails to load all relative source references such as <img src="test-image.png" alt="grrrrrr" />
This is a huge roadblock to an otherwise simple project.
Has someone built an iPadOS WebKit or Gecko app that will load and run a static site essentially just like any browser normally would on MacOS desktop environment ?
Launch app | import site project folder/sub-folders | loads index.htm | renders and runs site
A MacOS application that would essentially export a whole multi page mini site as a webarchive if you will that Safari on iPad would render correctly ?
Maybe some Adobe Acrobat Pro functionality and or InDesign etc that would export some type of PDF chunk that would render as planned either in Safari or Acrobat Reader just like it should in the first place.....
Post not yet marked as solved
Can't save gifs, it just saves frame of it as a photo.
I'm seeing an issue with a PWA when added to the home screen. The Keyboard will eventually stop opening. when clicking on an input field.
this happens with bmw.com, instagram.com. Once it happens on one PWA, all PWA's are effected.
Is this a known issue?
Post not yet marked as solved
I am trying to replace gifs with mp4s on my website. Currently its working great in Chrome and Firefox, but the behavior is odd in Safari.
<video autoplay loop muted playsinline defaultmuted preload="auto">
<source src="/path/to/video.mp4" type="video/mp4">
</video>
This video is an h264 mp4 video with no audio track.
Firefox, Chrome on my Macbook: Works as expected (autoplay's like it were a gif)
iOS Safari without Low Power Mode: Works as expected
iOS Safari with Low Power Mode: Autoplays but there is a play button on top that disappears when tapped.
macOS Safari: Does not autoplay. A play button appears and it plays if clicked.
I have been following https://developer.apple.com/documentation/webkit/delivering_video_content_for_safari as well as other guides on the internet and it still isn't working. I'm pretty sure there is a recent change responsible for this because it used to work in an older version of desktop safari.
Post not yet marked as solved
I'm tasked with securing a Safari browser extension that my organization created. It is using WebExtensions and has been launched across various browser extension stores, including Safari. I've searched for many hours on this and find very very little information on how to secure it. (Pretty much just https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy.) Is there anything more extensive/comprehensive? I'll be dealing with Safari Desktop as well as Safari iOS.
By comparison, when looking for resources for securing the Firefox version of the extension, I found https://extensionworkshop.com/documentation/develop/build-a-secure-extension/, which I think is a great resource. Some of that content applies to Safari, but it's hard to know to what extent. I'll need to secure Safari web and Safari mobile (i.e. iOS), but for now I'm focused on web. (But if you have anything on mobile, then please let me know also.)
Thank you!
Post not yet marked as solved
I am building a safari extension app. the code(html, css, javascript) for the safari extension that is in the AppExtension directory works good, but when I added button to Main.html to make an Action, to make the app dynamically change (the application itself not the extension), and I want to send data from the app to the extension on Safari.
Could anyone help me to fix this issue.
This my html code:
<!--Main.html -->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="../Style.css">
<script src="../Script.js" defer></script>
</head>
<body>
<!--The makeAction() function is defined in the `Script.js` file -->
<button onclick="makeAction()">Dropdown</button>
</body>
</html>
And this is the files structure