Safari Developer Tools

RSS for tag

Inspect, edit, debug, and check the performance of your web content using Safari developer tools.

Posts under Safari Developer Tools tag

200 Posts

Post

Replies

Boosts

Views

Activity

Can't see response body in the web inspect.
When we activate the developer options and right-click to select "Inspect," then navigate to the Network tab, we can view the request entries. However, upon clicking on an entry, I can see the headers, cookies, and other details, but one crucial aspect is absent: the request and response data. This seems like a fundamental feature—why is it missing? 🤔
0
1
938
Aug ’24
Safari Extension iOS18: Image are not loading.
Hi, I'm experiencing an issue with my Safari extension on iOS 18. When trying to access images using browser.runtime.getURL(), it doesn't work as expected. The same code works on iOS 17 and earlier versions. Here's my manifest file and code snippet. "web_accessible_resources": [ { "resources": [ "html/*.html", "images/*.png", "images/*.gif", "images/*.svg", "json/*.json", "fonts/*.ttf", "css/*.css" ], "matches": [ "<all_urls>" ] }, "images/fs_loading.svg", "images/status_protected.svg", "images/safe_check_icon.svg" ] `var status_ok_svg = browser.runtime.getURL("images/status_protected.svg");` Note: Image all are added in Images folder only
1
0
976
Aug ’24
Low Version Safari Browser When Download Excel Issue
Hi everyone, when My project (Angular 5) running in Safari Browser, we have a download function, it's download the excel file, end with .xlsx, but when running in low version Safari version, it will have a popup, that is not my project did, it blocked be safari itself, you can check the image, my question is how to hide the 'View' button or directly download instead of show the popup?
0
0
600
Jul ’24
Safari Responsive Design Mode Simulators are not showing up.
I have simulators downloaded to my 14" M2 Pro Macbook Pro, and for some reason, I cannot see any simulators as an option in Safari's Responsive Design Mode. Am I missing something obvious, or is my computer bugged? Above is an image of the Responsive Design Mode showing no simulators. I would offer more screenshots to prove that I have simulators installed, but it won't let me upload any more photos for some reason.
24
11
9.1k
Jul ’24
An error occurred try to load the resource: The issue only occurs when the download modal display and the image fetching for the pop-up are conducted simultaneously.
Problem Details : In the case of iOS, the image to be displayed in the pop-up message within the TypeScript application does not appear during file download. An error occurred trying to load the resource when attempting to fetch the image (in the case of Safari). The image does not appear in Edge or Chrome either, besides Safari. The image is displayed correctly on Windows 10, 11, Mac Ventura, Mac Sonoma, and Android. Neither svg format nor png format images are displayed. Only in the case of iOS, a download modal appears in Safari (In Edge and Chrome, a different display asking whether or not to download appears, which is different from the modal). The issue only occurs when the download modal display and the image fetching for the pop-up are conducted simultaneously. If you delay the display of the download modal from the timing of fetching the image for the pop-up (apply a wait), the image can be fetched. Verification Environment: iOS v.17.5.1 Safari 604.1 iOS v.17.3 Safari 604.1 IOS v.17.4.1 Chrome 126.0.6478.54 IOS v.17.4.1 Edge: 125.0.2535.72 Consideration and Request: Based on the problem details, I am considering that this issue might be a bug in iOS. I would like to know from experts whether this event is a bug or a specification of iOS. If there is any information about similar events occurring, I would like to know. If there are any solutions, hints, or advice, I would appreciate it if you could provide them. If additional information is required from me, I would like to be contacted. Thank you for your cooperation.
0
0
1.2k
Jun ’24
SFSafariViewControllerDelegate not being called for redirects
This method does not seem to work consistently: SFSafariViewControllerDelegate.safariViewController(_ controller: SFSafariViewController, initialLoadDidRedirectTo URL: URL) It was working 100% of the time until this week for me, now it has about a 1-5% success rate for detecting redirects. The docs are not clear: @discussion This method may be called even after -safariViewController:didCompleteInitialLoad: if the web page performs additional redirects without user interaction. Code snippet from calling UIViewController that conforms to SFSafariViewControllerDelegate: let config = SafariViewController.Configuration() config.entersReaderIfAvailable = false let vc = SFSafariViewController(url: url, configuration: config) vc.delegate = self self.safariViewController = vc print(self.safariViewController?.delegate) self.present(vc, animated: true) Did something change? How can I make this consistent again?
1
0
1.2k
Jun ’24
SFSafariViewControllerDelegate method for initialLoadDidRedirectTo not being triggered for subsequent reloads as specified in the docs
For some reason, not all of the time but most of the time, the SFSafariViewControllerDelegate method for initialLoadDidRedirectTo is not being triggered for subsequent reloads as specified in the docs. @discussion This method may be called even after -safariViewController:didCompleteInitialLoad: if the web page performs additional redirects without user interaction. I am allowing a user to log in with an OAuth 2.0 Provider on the Safari browser and expecting to detect the redirect to continue the flow from the app once their credentials have securely been consumed by the IdP in Safari. It was working consistently. It went from a 100% success rate up until this week to maybe 1/20 successful redirects. Code snippet: let config = SafariViewController.Configuration() config.entersReaderIfAvailable = false let vc = SFSafariViewController(url: url, configuration: config) vc.delegate = self self.safariViewController = vc print(self.safariViewController?.delegate) self.present(vc, animated: true) Why is it not always detecting the redirects?
1
0
1.2k
Jun ’24
Browser.permissions.request not working as expected
Hi there - I am trying to port over Chrome extension over to Safari Web extension. Looks like Safari has a very aggressive permissions flow which isn't a great user experience but I get the privacy benefits. I am trying to move some of my permissions like <all_urls> or tabs as optional permissions and build a flow where I can request the user for them in hopes that i can educate them as to why I need them similar to how Chrome/FF have it. However when i use browser.permissions.request - i always end up getting true without invoking the prompt. The prompt seems to come up regardless when i start visiting a website. Can someone help with this? Sounds more like a defect in Safari.
2
0
1.6k
May ’24
Need help with the Safari web developer tool console prompt.
If you write about multiple lines when entering code into the prompt, it will be open, but there is no way to check the topmost written code. It does not expose 1 to 3 lines, nor does it provide scrolling. I think it should work like Google Chrome or there should be a way to solve this within safari. If there's any way I don't know, please help.
0
0
672
May ’24
Safari shows "No Inspectable Applications" while trying to remote debug web app.
Ever since 17.4.1 updates to Safari, we are unable to debug our web applications using Safari. Was working perfectly fine before. Safari shows "No Inspectable Applications" in the Develop -> iPadName menu. We have 3 target iPads (Mini, Air and gen 10) and one iPhone 13 Pro Max, all on iPadOS and iOS 17.4.1, all of them show "No Inspectable Applications" in the menu. iPad Mini and iPhone were both visible fine before the 17.4.1 update. Other devices were already updated automagically to 17.4.1 so we couldn't check the before - after scenario. Safari running on iPad simulator with XCode 15.2 has same behaviour. We tried debugging with latest version of following MacOS: MacOS Sonoma (Macbook Pro M2) MacOS Sonoma (Mac Mini M1) MacOS Ventura (Macbook Pro i9) All of those have same behaviour: "No Inspectable Applications". We tried Safari Tech Preview and iPadOS 17.5 beta 2 and no change. Are we missing something?
5
7
3.9k
Apr ’24
WebXR in WKWebView
Hi, I am creating a native application for the Vision Pro. I am looking to integrate a window with WebXR content that can open an immersive space. I am able to do this from Safari and using a SFSafariViewController, however, I would like to use WKWebView inside my native application to do something similar (as this does not open an additional Safari window before allowing WebXR content). It seems in this current version, the WKWebView does not support WebXR? Is this true or is there any additional preferences that I need to add to enable this in this component.
3
0
1.2k
Apr ’24
WebRTC App doesn't work while an iPhone or MacBook is connected.
Good evening, I am having problems with my WebRTC application when an iPhone or Macbook is connected. This only happens when an iPhone or Macbook is connected, as tests with Windows or Android devices have shown no issues. As can be seen in the screenshot below, it appears that the datachannel is not initialised correctly. In fact, the webcam and microphone do not work even if permissions are given by the user, and messages and the remote webcam are not sent/shown. If I open chrome console on Windows, this is the error I get in the console Could you please help me investigate this problem. If you want, you can have full access to my application at https://www.fourmeet.it. I attach the functions that seem to be responsible for the problems: const configuration = { iceServers: [...turnServers, { urls: 'stun:stun.1und1.de:3478'}], iceTransportPolicy: 'relay' }; peerConection = new RTCPeerConnection(configuration); dataChannel = peerConection.createDataChannel("chat"); peerConection.ondatachannel = (event) => { const dataChannel = event.channel; dataChannel.onopen = () => { console.log("peer connection is ready to receive data channel messages"); }; dataChannel.onmessage = (event) => { console.log("message came from data channel"); const message = JSON.parse(event.data); ui.appendMessage(message); }; }; peerConection.onicecandidate = (event) => { console.log("geeting ice candidates from stun server"); if (event.candidate) { // send our ice candidates to other peer wss.sendDataUsingWebRTCSignaling({ connectedUserSocketId: connectedUserDetails.socketId, type: constants.webRTCSignaling.ICE_CANDIDATE, candidate: event.candidate, }); } }; peerConection.onconnectionstatechange = (event) => { if (peerConection.connectionState === "connected") { console.log("succesfully connected with other peer"); } }; const stringifiedMessage = JSON.stringify(message); if (dataChannel && dataChannel.readyState === 'open') { dataChannel.send(stringifiedMessage); } else { console.log('canale non aperto'); } };
0
0
1.5k
Apr ’24
SSLKEYLOGFILE equivalent for Safari?
I'm wondering if there's a way to capture the SSL/TLS key log / ephemeral keys from Safari for troubleshooting like there is for Firefox & Chrome by setting the SSLKEYLOGFILE environment variable. I'm troubleshooting an issue where Safari doesn't load certain CSS and JPEG elements on the first load, but when hitting refresh, those same elements load fine. Clearing the cache or using "disable caches" in the network tab of the inspector will cause the elements to fail to load again. Safari shows that it received a header, but no content. Wireshark shows four TCP/RST packets coming from the client / Safari. The same site loads without issue every time using Firefox or Chromium. I'm hoping that someone knows how to capture the TLS session keys from Safari so I can look deeper into the packet capture and figure out if Safari is incorrectly parsing the server's response or if there is some subtle corruption in the response that Safari rejects, but other browsers accept. So, does anyone know how to capture the raw data transfer or TLS session keys from Safari? Thank you!
0
2
1.3k
Mar ’24
Can't see response body in the web inspect.
When we activate the developer options and right-click to select "Inspect," then navigate to the Network tab, we can view the request entries. However, upon clicking on an entry, I can see the headers, cookies, and other details, but one crucial aspect is absent: the request and response data. This seems like a fundamental feature—why is it missing? 🤔
Replies
0
Boosts
1
Views
938
Activity
Aug ’24
Safari Extension iOS18: Image are not loading.
Hi, I'm experiencing an issue with my Safari extension on iOS 18. When trying to access images using browser.runtime.getURL(), it doesn't work as expected. The same code works on iOS 17 and earlier versions. Here's my manifest file and code snippet. "web_accessible_resources": [ { "resources": [ "html/*.html", "images/*.png", "images/*.gif", "images/*.svg", "json/*.json", "fonts/*.ttf", "css/*.css" ], "matches": [ "<all_urls>" ] }, "images/fs_loading.svg", "images/status_protected.svg", "images/safe_check_icon.svg" ] `var status_ok_svg = browser.runtime.getURL("images/status_protected.svg");` Note: Image all are added in Images folder only
Replies
1
Boosts
0
Views
976
Activity
Aug ’24
Detect when content blockers are turned off via the "Turn Off Content Blockers" option on safari in ios
Is there a way to detect if the user has tapped on "Turn Off Content Blockers" option on safari in ios or get a callback from the same?
Replies
0
Boosts
0
Views
660
Activity
Jul ’24
Low Version Safari Browser When Download Excel Issue
Hi everyone, when My project (Angular 5) running in Safari Browser, we have a download function, it's download the excel file, end with .xlsx, but when running in low version Safari version, it will have a popup, that is not my project did, it blocked be safari itself, you can check the image, my question is how to hide the 'View' button or directly download instead of show the popup?
Replies
0
Boosts
0
Views
600
Activity
Jul ’24
i m using react js web i m facing issue on give viberation on ios device
Hi everyone I need a help I am using navigator.vibrate(50) for vibration but the issue is that vibration is working on android but not on ios/apple device and I am using react js Who knows what? Please help me.
Replies
1
Boosts
0
Views
876
Activity
Jul ’24
Content blocking using Safarai web extension does not block content after multiple reloads on same page.
We have implemented content blocking using Safari web extension, it blocks the content but after reloading the current page about 3-4 times the blocked content re-appears, how can we fix this issue?
Replies
0
Boosts
0
Views
689
Activity
Jul ’24
Safari Responsive Design Mode Simulators are not showing up.
I have simulators downloaded to my 14" M2 Pro Macbook Pro, and for some reason, I cannot see any simulators as an option in Safari's Responsive Design Mode. Am I missing something obvious, or is my computer bugged? Above is an image of the Responsive Design Mode showing no simulators. I would offer more screenshots to prove that I have simulators installed, but it won't let me upload any more photos for some reason.
Replies
24
Boosts
11
Views
9.1k
Activity
Jul ’24
iOS 18 safari
the downloads button in safari keeps flickering and cannot be pressed no matter what.
Replies
0
Boosts
1
Views
712
Activity
Jun ’24
An error occurred try to load the resource: The issue only occurs when the download modal display and the image fetching for the pop-up are conducted simultaneously.
Problem Details : In the case of iOS, the image to be displayed in the pop-up message within the TypeScript application does not appear during file download. An error occurred trying to load the resource when attempting to fetch the image (in the case of Safari). The image does not appear in Edge or Chrome either, besides Safari. The image is displayed correctly on Windows 10, 11, Mac Ventura, Mac Sonoma, and Android. Neither svg format nor png format images are displayed. Only in the case of iOS, a download modal appears in Safari (In Edge and Chrome, a different display asking whether or not to download appears, which is different from the modal). The issue only occurs when the download modal display and the image fetching for the pop-up are conducted simultaneously. If you delay the display of the download modal from the timing of fetching the image for the pop-up (apply a wait), the image can be fetched. Verification Environment: iOS v.17.5.1 Safari 604.1 iOS v.17.3 Safari 604.1 IOS v.17.4.1 Chrome 126.0.6478.54 IOS v.17.4.1 Edge: 125.0.2535.72 Consideration and Request: Based on the problem details, I am considering that this issue might be a bug in iOS. I would like to know from experts whether this event is a bug or a specification of iOS. If there is any information about similar events occurring, I would like to know. If there are any solutions, hints, or advice, I would appreciate it if you could provide them. If additional information is required from me, I would like to be contacted. Thank you for your cooperation.
Replies
0
Boosts
0
Views
1.2k
Activity
Jun ’24
SFSafariViewControllerDelegate not being called for redirects
This method does not seem to work consistently: SFSafariViewControllerDelegate.safariViewController(_ controller: SFSafariViewController, initialLoadDidRedirectTo URL: URL) It was working 100% of the time until this week for me, now it has about a 1-5% success rate for detecting redirects. The docs are not clear: @discussion This method may be called even after -safariViewController:didCompleteInitialLoad: if the web page performs additional redirects without user interaction. Code snippet from calling UIViewController that conforms to SFSafariViewControllerDelegate: let config = SafariViewController.Configuration() config.entersReaderIfAvailable = false let vc = SFSafariViewController(url: url, configuration: config) vc.delegate = self self.safariViewController = vc print(self.safariViewController?.delegate) self.present(vc, animated: true) Did something change? How can I make this consistent again?
Replies
1
Boosts
0
Views
1.2k
Activity
Jun ’24
SFSafariViewControllerDelegate method for initialLoadDidRedirectTo not being triggered for subsequent reloads as specified in the docs
For some reason, not all of the time but most of the time, the SFSafariViewControllerDelegate method for initialLoadDidRedirectTo is not being triggered for subsequent reloads as specified in the docs. @discussion This method may be called even after -safariViewController:didCompleteInitialLoad: if the web page performs additional redirects without user interaction. I am allowing a user to log in with an OAuth 2.0 Provider on the Safari browser and expecting to detect the redirect to continue the flow from the app once their credentials have securely been consumed by the IdP in Safari. It was working consistently. It went from a 100% success rate up until this week to maybe 1/20 successful redirects. Code snippet: let config = SafariViewController.Configuration() config.entersReaderIfAvailable = false let vc = SFSafariViewController(url: url, configuration: config) vc.delegate = self self.safariViewController = vc print(self.safariViewController?.delegate) self.present(vc, animated: true) Why is it not always detecting the redirects?
Replies
1
Boosts
0
Views
1.2k
Activity
Jun ’24
Browser.permissions.request not working as expected
Hi there - I am trying to port over Chrome extension over to Safari Web extension. Looks like Safari has a very aggressive permissions flow which isn't a great user experience but I get the privacy benefits. I am trying to move some of my permissions like <all_urls> or tabs as optional permissions and build a flow where I can request the user for them in hopes that i can educate them as to why I need them similar to how Chrome/FF have it. However when i use browser.permissions.request - i always end up getting true without invoking the prompt. The prompt seems to come up regardless when i start visiting a website. Can someone help with this? Sounds more like a defect in Safari.
Replies
2
Boosts
0
Views
1.6k
Activity
May ’24
Need help with the Safari web developer tool console prompt.
If you write about multiple lines when entering code into the prompt, it will be open, but there is no way to check the topmost written code. It does not expose 1 to 3 lines, nor does it provide scrolling. I think it should work like Google Chrome or there should be a way to solve this within safari. If there's any way I don't know, please help.
Replies
0
Boosts
0
Views
672
Activity
May ’24
Safari shows "No Inspectable Applications" while trying to remote debug web app.
Ever since 17.4.1 updates to Safari, we are unable to debug our web applications using Safari. Was working perfectly fine before. Safari shows "No Inspectable Applications" in the Develop -> iPadName menu. We have 3 target iPads (Mini, Air and gen 10) and one iPhone 13 Pro Max, all on iPadOS and iOS 17.4.1, all of them show "No Inspectable Applications" in the menu. iPad Mini and iPhone were both visible fine before the 17.4.1 update. Other devices were already updated automagically to 17.4.1 so we couldn't check the before - after scenario. Safari running on iPad simulator with XCode 15.2 has same behaviour. We tried debugging with latest version of following MacOS: MacOS Sonoma (Macbook Pro M2) MacOS Sonoma (Mac Mini M1) MacOS Ventura (Macbook Pro i9) All of those have same behaviour: "No Inspectable Applications". We tried Safari Tech Preview and iPadOS 17.5 beta 2 and no change. Are we missing something?
Replies
5
Boosts
7
Views
3.9k
Activity
Apr ’24
Cannot inspect iOS8 device within Safari 17
Cannot inspect iOS8 device within Safari 17
Replies
1
Boosts
0
Views
604
Activity
Apr ’24
Safari no longer supports ANSI escape sequences?
In one of the latest versions of Safari, my output broke. Safari no longer supports ANSI escape sequences?
Replies
0
Boosts
0
Views
613
Activity
Apr ’24
WebXR in WKWebView
Hi, I am creating a native application for the Vision Pro. I am looking to integrate a window with WebXR content that can open an immersive space. I am able to do this from Safari and using a SFSafariViewController, however, I would like to use WKWebView inside my native application to do something similar (as this does not open an additional Safari window before allowing WebXR content). It seems in this current version, the WKWebView does not support WebXR? Is this true or is there any additional preferences that I need to add to enable this in this component.
Replies
3
Boosts
0
Views
1.2k
Activity
Apr ’24
Responsive Design Mode - Devices
Please bring back the a list of devices for devs to select from. This should not be hard to provide for your own products. Also, please allow users to set their own custom width/height dimensions. This is a really simple (arguably should be a mandatory for responsive design) feature.
Replies
1
Boosts
3
Views
960
Activity
Apr ’24
WebRTC App doesn't work while an iPhone or MacBook is connected.
Good evening, I am having problems with my WebRTC application when an iPhone or Macbook is connected. This only happens when an iPhone or Macbook is connected, as tests with Windows or Android devices have shown no issues. As can be seen in the screenshot below, it appears that the datachannel is not initialised correctly. In fact, the webcam and microphone do not work even if permissions are given by the user, and messages and the remote webcam are not sent/shown. If I open chrome console on Windows, this is the error I get in the console Could you please help me investigate this problem. If you want, you can have full access to my application at https://www.fourmeet.it. I attach the functions that seem to be responsible for the problems: const configuration = { iceServers: [...turnServers, { urls: 'stun:stun.1und1.de:3478'}], iceTransportPolicy: 'relay' }; peerConection = new RTCPeerConnection(configuration); dataChannel = peerConection.createDataChannel("chat"); peerConection.ondatachannel = (event) => { const dataChannel = event.channel; dataChannel.onopen = () => { console.log("peer connection is ready to receive data channel messages"); }; dataChannel.onmessage = (event) => { console.log("message came from data channel"); const message = JSON.parse(event.data); ui.appendMessage(message); }; }; peerConection.onicecandidate = (event) => { console.log("geeting ice candidates from stun server"); if (event.candidate) { // send our ice candidates to other peer wss.sendDataUsingWebRTCSignaling({ connectedUserSocketId: connectedUserDetails.socketId, type: constants.webRTCSignaling.ICE_CANDIDATE, candidate: event.candidate, }); } }; peerConection.onconnectionstatechange = (event) => { if (peerConection.connectionState === "connected") { console.log("succesfully connected with other peer"); } }; const stringifiedMessage = JSON.stringify(message); if (dataChannel && dataChannel.readyState === 'open') { dataChannel.send(stringifiedMessage); } else { console.log('canale non aperto'); } };
Replies
0
Boosts
0
Views
1.5k
Activity
Apr ’24
SSLKEYLOGFILE equivalent for Safari?
I'm wondering if there's a way to capture the SSL/TLS key log / ephemeral keys from Safari for troubleshooting like there is for Firefox & Chrome by setting the SSLKEYLOGFILE environment variable. I'm troubleshooting an issue where Safari doesn't load certain CSS and JPEG elements on the first load, but when hitting refresh, those same elements load fine. Clearing the cache or using "disable caches" in the network tab of the inspector will cause the elements to fail to load again. Safari shows that it received a header, but no content. Wireshark shows four TCP/RST packets coming from the client / Safari. The same site loads without issue every time using Firefox or Chromium. I'm hoping that someone knows how to capture the TLS session keys from Safari so I can look deeper into the packet capture and figure out if Safari is incorrectly parsing the server's response or if there is some subtle corruption in the response that Safari rejects, but other browsers accept. So, does anyone know how to capture the raw data transfer or TLS session keys from Safari? Thank you!
Replies
0
Boosts
2
Views
1.3k
Activity
Mar ’24