Safari is the web browser developed by Apple and built into all Apple devices.

Safari Documentation

Posts under Safari tag

403 Posts
Sort by:
Post not yet marked as solved
13 Replies
157 Views
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
Posted
by
Post not yet marked as solved
1 Replies
47 Views
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...
Posted
by
Post not yet marked as solved
0 Replies
62 Views
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!
Posted
by
Post not yet marked as solved
0 Replies
54 Views
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?
Posted
by
Post not yet marked as solved
0 Replies
55 Views
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?
Posted
by
Post not yet marked as solved
0 Replies
52 Views
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
Posted
by
Post not yet marked as solved
0 Replies
55 Views
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?
Posted
by
Post not yet marked as solved
1 Replies
103 Views
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?
Posted
by
Post not yet marked as solved
1 Replies
75 Views
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.....
Posted
by
Post not yet marked as solved
0 Replies
74 Views
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.
Posted
by
Post marked as solved
1 Replies
100 Views
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!
Posted
by
Post not yet marked as solved
1 Replies
112 Views
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!
Posted
by
Post not yet marked as solved
0 Replies
126 Views
Hi there, I'm interested in understanding how to solve the following scenario: having AppTrackingTransparency implemented, let's assume that the user has denied the app to track. At some point, the app presents the user a webpage (WKWebView), which provides additional functionalities to the app. How should the app inform the webpage that tracking must be disabled? Is there any way to force the WKWebView to disable tracking? I've read this post. So I know that redirecting the user to Safari, therefore outside of the app, is an alternative solution. And according to this answer on stack overflow doing something like self.webView.configuration.processPool.perform(Selector(("_setCookieAcceptPolicy:")), with: HTTPCookie.AcceptPolicy.never) is not allowed and the application will be rejected. Does anyone have any suggestions?
Posted
by
Post not yet marked as solved
0 Replies
82 Views
We have an organization of about 500 employees, and we have developed an app for internal use only. I want our employees to use this app. So we have built the app ( we choose EAS build CLI with all valid certificates, provisioning profile and unique bundleIdentifier) Then, we got a link which we can open on our iOS devices (or scan the QR code) and follow the instructions to install the development profile. Then we got a link to download an application on our device. And it seems an app icon in our device but when we try to open it by touching the icon we are getting a message "Unable to install App, This app cannot be installed because its integrity could not be verified." In short we can say ,Our organization is facing the following error when downloading an "enterpriseProvisioning": "universal" EAS Build app from Expo.
Posted
by
Post not yet marked as solved
0 Replies
96 Views
Issue: Safari browser crashes consistently when I run a Selenium automation script for a very simple use case: Enter username & password and press the Sign in button. Browser crashes as soon as the button is clicked, before the home page loads up. Please refer to the attached js file for script and steps to reproduce. Also attaching Safari crash logs from ~/Library/Logs/DiagnosticReports/. Can see a segmentation fault had occurred with KERNEL_INVALID_ADDRESS due to bad memory area being accessed: "exception" : {"codes":"0x0000000000000001, 0x0000000000000040","rawCodes":[1,64],"type":"EXC_BAD_ACCESS","signal":"SIGSEGV","subtype":"KERN_INVALID_ADDRESS at 0x0000000000000040"}, "termination" : {"flags":0,"code":11,"namespace":"SIGNAL","indicator":"Segmentation fault: 11","byProc":"exc handler","byPid":48287}, Product Specs: MacOS Monterey version 12.2.1 Mac mini (2018) Processor: 3Ghz 6-Core Intel Core i5 Memory: 8GB 2667 MHz DDR4 Graphics: Intel UHD Graphics 640 1536 MB NOTE: Issue is NOT related to Selenium since this issue is only seen in Monterey only for particular product specs consistently. Did not face this in Big Sur/ Catalina/ Mojave/ High Sierra, etc. Also test runs fine in Chrome, Firefox & Edge browsers in the same machine. Crash may be reproducible only in some versions of Monterey with particular hardware configurations. This is an error related to segmentation fault due to bad memory access so it's pretty clear this has to be hardware dependent. Safari-2022-06-24-152240.txt reproduce_safari_crash.js
Posted
by
Post not yet marked as solved
0 Replies
78 Views
Hi Team, We get some recurring crashes in Crashlytics titled "WebCore" and "UnoversalError.swift line2". We cannot find the exact cause. The event summary of most cases shows the iOS version as 15. Please find the attached screenshots for the same. Please help solve the problem here. Thanks in advance Regards, Mohamed Rafi
Posted
by