I am new to PHP. I have developed my own web site with a lot of javascript in simple HTML files. I want to do some extensions with PHP but I can't make a simple web page function. I am sure something simple is wrong. Help!
Here is the test web page I made: hello.html
<html>
<head>
<title>Hello World</title>
</head>
<body>
<?php echo 'Hello World!'; ?>
</body>
</html>
Pointing Safari at hello.html gives me a new tab with the correct title, but no "Hello World" in the page itself.
Here is the output of php --version:
WARNING: PHP is not recommended
PHP is included in macOS for compatibility with legacy software.
Future versions of macOS will not include PHP.
PHP 7.3.24-(to be removed in future macOS) (cli) (built: Jun 17 2021 21:41:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.24, Copyright (c) 1998-2018 Zend Technologies
General
RSS for tagExplore the integration of web technologies within your app. Discuss building web-based apps, leveraging Safari functionalities, and integrating with web services.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I'm porting to Safari a Chrome/Firefox Extension that makes use of declarativeNetRequest.updateDynamicRules to remove some HTTP headers from requests to a specific URL.
This works mostly fine, except for some headers for which this is not allowed by WebKit, such as the Priority header (which is however served by Safari).
An annoying corner-case I found is that of the Cookie header. When trying to remove it from the request by adding the following rule
{
id: <rule id>,
priority: <rule priority>,
action: {
type: "modifyHeaders",
requestHeaders: [{ "header": "Cookie", "operation": "remove" }]
},
condition: {
urlFilter: <my url>,
resourceTypes: ["main_frame", "sub_frame"]
}
}
nothing error is thrown, yet the Cookie header is still being sent. This rule however works for other headers, such as Referer. Changing "Cookie" for "cookie" does not help.
Questions:
Is there an alternative way of removing the Cookie header from the HTTP request?
Is this just a bug in WebKit?
Is there any way of removing "unsupported" headers such as Priority?
Any help or references are appreciated.
Edited: more specific description of the corner-case.
I am currently publishing an application that uses WebView,
I am currently publishing an application that uses WebView, but I am having trouble with data in LocalStorage sometimes disappearing.
The website displayed in WebView is made with PHP,
By writing the following code in JavaScript,
When WKWebView is opened, localStorage is saved and retrieved.
window.localStorage.setItem('isAlreadyAgree', true);
window.localStorage.getItem('isAlreadyAgree');
The problem is that sometimes this getItem does not get the data.
・This is not reproducible and does not always occur when some process is performed.
・Is it possible that the storage of the application is cleared due to distribution using MDM?
・Is it possible to store too much data in UserDefault, which would cause the LocalStorage space to be overwhelmed and disappear?
I would appreciate any hints you can give me.
Thank you in advance.
Starting Safari 18, Declarative Net Request redirections are no longer working (it used to be working on Safari 17). It seems to be related to the regex validation that is not working as expected.
Here is an example of our DNR rule:
{
priority: 1,
action: {
type: 'redirect',
redirect: {
regexSubstitution: `${scheme}//${extensionHost}/index.html\\1#/\\2`,
},
},
condition: {
// app.dashlane.com, *.app.dashlane.com
regexFilter: '^https?://w*\\.?app\\.dashlane\\.com(\\??[^/#]*)[^#]*#?/?(.*)$',
resourceTypes: [
'main_frame'
],
},
}
Is it a known issue ?
Also, it seems to be related to this existing issue:
https://forums.developer.apple.com/forums/thread/763505
Hey,
when I try to run my project on an iOS Simulator, I get the following message:
JournalingSuggestions is not available when building for iOS Simulator.
and
Linker command failed with exit code 1 (use -v to see invocation)
Steps to reproduce this behavior:
Create a new Xcode project
Add the Journaling Suggestions Capability
Add the Journaling Suggestions Framework
Under "Target > Build Phases > Link Binary with Libraries", select “optional“ for JournalingSuggestions.framework
Under "Target > Build Settings > Other Linker Flags > Debug" select „Plus“ and add „iOS or iOS Simulator“ and paste this -Xlinker -weak_framework -Xlinker JournalingSuggestions into the editable field.
Do the same for "Target > Build Settings > Other Linker Flags > Release"
This tread is about the same problem, but is already checked as answered.
That's why I'm creating this new tread.
The last two bullet points are results from advice from the other thread.
MacBook Air, M1, 2020, macOS: 14.6.1, Xcode: 16.0
Thanks for your help!
Got the wrong keywords, trying to create a new thread...
Topic:
Safari & Web
SubTopic:
General
Our service includes the Apple web login feature to support "Sign in with Apple" on iOS 12.
However, at some point, an error started occurring on the Apple login page in iOS 12, preventing users from proceeding further.
Upon checking the Web Inspector console, we found the following error:
Failed to load resource: the server responded with a status of 503 (Service Temporarily Unavailable)
Please help us resolve this issue so that users can continue using "Sign in with Apple" on iOS 12.
I'm encountering a browser-specific issue with a React infinite scroll animation component. The animation works perfectly in Chrome on MacBook, but breaks specifically in Safari:
✅ Chrome on MacBook: Works perfectly
❌ Safari on MacBook: Animation and layout issues
Technical Details
Environment
Browser: Safari: Version 18.1.1 (20619.2.8.11.12)
MacBook 13-inch display
React 18
GSAP for animations
TailwindCSS for styling
Next.js/TypeScript project
Implementation
const MovingGrid: React.FC = () => {
useEffect(() => {
const initAnimation = () => {
const container = containerRef.current;
if (container) {
gsap.to(container, {
x: `-${firstSet.clientWidth}`,
duration: 30,
ease: "none",
repeat: -1,
onRepeat: () => {
gsap.set(container, { x: 0 });
}
});
}
};
}, []);
return (
<div className="hidden lg:block overflow-hidden w-full relative">
<div ref={containerRef} className="flex absolute -bottom-[100px]">
{/* Grid content */}
</div>
</div>
);
};
Safari-Specific Behavior
Images overflow the container in Safari only
Layout gets disrupted when animation resets
Same code works perfectly in Chrome on the same machine
Cross-Browser Testing Results
Safari on MacBook: Issues with animation and layout
Chrome on MacBook: Works as expected
Firefox on MacBook: Works as expected
Safari on iOS: Needs testing
Chrome on Windows: Works as expected
Attempted Solutions
Safari-specific CSS fixes:
/* Attempted Safari-specific fixes */
@supports (-webkit-hyphens:none) {
.moving-grid {
transform: translateZ(0);
-webkit-transform: translateZ(0);
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}
}
Modified GSAP configuration for Safari:
gsap.config({
force3D: true
});
Tried various CSS transform and positioning approaches:
className="transform will-change-transform"
style={{ WebkitTransform: 'translate3d(0,0,0)' }}
Questions
Are there known Safari-specific issues with GSAP animations that require special handling?
Does Safari handle infinite scroll animations differently from Chrome in terms of performance or rendering?
Are there recommended Safari-specific optimizations for smooth animations?
Should we implement a different animation approach specifically for Safari users?
Investigation Notes
Performance metrics show no significant issues
Animation frame rate is consistent
Layout calculations appear correct before animation starts
Impact
This issue affects a crucial part of our property showcase website, specifically impacting Safari users on MacBook devices. Given Safari's significant user base on MacBooks, this needs to be resolved for a consistent cross-browser experience.
Additional Context
The animation is part of a larger property showcase feature
Performance is crucial for user experience
Need to maintain visual consistency across browsers
Reproduction Steps
Open website Safari on MacBook [pinkdoorbnb .com]
Observe the infinite scroll animation
Compare with Chrome on the same device
Note the differences in animation behaviour and layout
I would greatly appreciate any insights into Safari-specific animation handling or alternative approaches that work consistently across browsers.
Here is sample
Google Chrome ⬇
Safari ⬇
Topic:
Safari & Web
SubTopic:
General
On iOS 18 only, I've been getting this error from the didFailToContinueUserActivityWithType in AppDelegate, the activity needed for universal links. It didn't happen on previous versions of it.
Has anyone encountered this ?
Update: turns out the testphone with iOS 18 was set to 'Do not disturb'.
Case closed.
Hi all, I created a progressive web app. I is hosted on an actual live domain, served over https.
When installed on an iPhone homescreen on iOS 17.7.2, sending web push notifications works fine:
the response from the push service endpoint has a status code of 201, indicating all is good. In the service worker of the PWA, an eventlistener for the 'push' event is trigggered and displays an OS notification.
On iOS18.0 however, even though the response from the push service endpoint has a status code of 201, there is no notification showing. Even though permission has been granted, and registration.pushManager.subscribe() is successful.
When working locally, I've setup my server to run on localhost in https mode as well by following this excellent Technical Note to setup my own Certificate Authority, have it be trusted by my iOS test devices and have the CA issue a certificate so TLS can be set up.
On this locally running https server, web push notifications do arrive for iOS 17.7.2, but also not for iOS18.0.
I'm not sure how to start debugging this, as I can't seem to get the webinspector to show for the service worker most times, and when I can, there is no console.log() output visible.
This still stands:
So really, I'm looking for a (reliable) way to be able to debug this issues in safari, or find some documentation on what changed for Safari on iOS 18 that requires changes.
Any help or thoughts on this matter?
There is something wrong with WKWebView. it crash. that:
- (void)viewDidLoad {
[super viewDidLoad];
[self.wkwebView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id _Nullable result, NSError * _Nullable error) {
}];
}
crash info
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Incident Identifier: 2430792E-CF51-4EF1-94CF-EC72AC601B2C
CrashReporter Key: 50bcb858d8f2af8c94fc75188b8a740c78e148ff
Hardware Model: iPhone11,6
Process: Youkui4Phone [956]
Path: /private/var/containers/Bundle/Application/198201AE-A0DE-4E8F-B84A-2209122A5783/Youkui4Phone.app/Youkui4Phone
Identifier: com.youku.YouKu.InHouse
Version: 11.1.13.8339 (2042174090)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.youku.YouKu.InHouse [600]
Date/Time: 2024-12-17 16:11:51.5863 +0800
Launch Time: 2024-12-17 15:47:19.4488 +0800
OS Version: iPhone OS 18.1.1 (22B91)
Release Type: User
Baseband Version: 7.00.00
Report Version: 104
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: FRONTBOARD 2343432205
<RBSTerminateContext| domain:10 code:0x8BADF00D explanation:scene-update watchdog transgression: app<com.youku.YouKu.InHouse(EEEC9FA9-AFA2-4648-B178-EFFB7C9FE91D)>:956 exhausted real (wall clock) time allowance of 10.00 seconds
ProcessVisibility: Foreground
ProcessState: Running
WatchdogEvent: scene-update
WatchdogVisibility: Foreground
WatchdogCPUStatistics: (
"Elapsed total CPU time (seconds): 13.120 (user 13.120, system 0.000), 22% CPU",
"Elapsed application CPU time (seconds): 2.732, 4% CPU"
) reportType:CrashLog maxTerminationResistance:Interactive>
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x1e503ff90 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21d17aa50 _pthread_cond_wait + 1204
2 JavaScriptCore 0x1ab495ce8 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 1900
3 JavaScriptCore 0x1ab4852e4 WTF::LockAlgorithm<unsigned char, (unsigned char)1, (unsigned char)2, WTF::EmptyLockHooks<unsigned char>>::lockSlow(WTF::Atomic<unsigned char>&) + 216
4 JavaScriptCore 0x1ac413cc0 JSC::JSLock::lock() + 568
5 JavaScriptCore 0x1ac45d0f0 JSC::JSRunLoopTimer::Manager::timerDidFireCallback() + 808
6 JavaScriptCore 0x1ab49e218 WTF::RunLoop::TimerBase::start(WTF::Seconds, bool)::$_0::__invoke(__CFRunLoopTimer*, void*) + 96
7 CoreFoundation 0x194cda894 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
8 CoreFoundation 0x194cda538 __CFRunLoopDoTimer + 1012
9 CoreFoundation 0x194cda08c __CFRunLoopDoTimers + 288
10 CoreFoundation 0x194c793b4 __CFRunLoopRun + 1856
11 CoreFoundation 0x194c78830 CFRunLoopRunSpecific + 588
12 GraphicsServices 0x1e0c581c4 GSEventRunModal + 164
13 UIKitCore 0x1977deeb0 -[UIApplication _run] + 816
14 UIKitCore 0x19788d5b4 UIApplicationMain + 340
15 Youkui4Phone 0x105160fcc main + 56
16 dyld 0x1ba666ec8 start + 2724
Topic:
Safari & Web
SubTopic:
General
I need to load both the local source images and remote source images in WKWebView.
The url of remote images is a relative url.
To load the local images in WebView, I could use loadFileURL(:allowingReadAccessTo:).
To load the remote images in WebView, I could use loadHTMLString(:baseURL:).
But, I need both the local images and remote images.
How can I do?
私たちはJavaアプリケーション開発者で、iPadOS上でのWebRTCによるカメラアクセスに関して、iPadOS 17.1での挙動について質問がございます。
具体的には、iPadOS 17.1でChromeブラウザを利用し、WKWebView API経由でカメラにアクセスしようとした際、エラーが発生し、カメラ撮影が実行できない現象が発生しております。弊社の調査では、WKWebView APIのnavigator.mediaDevicesプロパティを通じたデバイスアクセスが、Chromeで動作しない可能性が示唆されました。しかし、Safariブラウザでは正常に動作するため、Chromeに固有の制限があるのか、またはiPadOSの設定や仕様に起因するのか判断しかねております。
現在、iPadOS 17.1でのカメラアクセスに関するWKWebViewとWebRTCの仕様やChromeでの制約について、ご見解や解決策についてご教示いただけますと幸いです。
どうぞよろしくお願いいたします。
Topic:
Safari & Web
SubTopic:
General
I am trying to access a camera from web view and I'm unable to load the updated UI in web view and web view gets flick for every few seconds. The updated UI has some more functionality, but the web page not getting loaded.
Hello everyone.
I have a very strange behavior with smart app banners in Safari.
When I don't have installed app on my phone, I can't see the banner on our product main page. When I installed the app, I can see the banner, which allows me to go directly to the app. When I put any other app's ID in the meta tag it works perfectly even if I don't have its installed app.
So the code is right, what can be the reason of this behavior? Any settings of the app are required?
I’m experiencing an issue where Safari takes approximately 30 seconds to load web pages on mTLS-enabled sites. However, when I enable Private Browsing mode, the problem disappears. This suggests that the issue is not related to the network environment.
To provide more context, I’ve attached a Wireshark packet capture for reference. From the logs, it seems that the TLS handshake process encounters delays, but I cannot identify the exact cause.
Has anyone encountered a similar issue or can provide insights into what might be causing this behavior? Any troubleshooting suggestions or fixes would be greatly appreciated.
OS: iPadOS 18.2.1
Thank you!
Wireshark packet capture
Topic:
Safari & Web
SubTopic:
General
I have a Safari Web Extension that successfully receives a message from a webpage and returns a response.
I now want to add a user interface to the Safari Web Extension. How do I do this?
I have modified the default template code as follow to add an NSAlert for testing. The modal runs, but no alert ever appears, and the code remains stuck at runModal.
What is the correct way to add a UI to a webextension?
- (void)beginRequestWithExtensionContext:(NSExtensionContext *)context {
id message = [context.inputItems.firstObject userInfo][SFExtensionMessageKey];
NSLog(@"Received message from browser.runtime.sendNativeMessage: %@", message);
NSAlert* alert = [[NSAlert alloc]init];
[alert setMessageText:message[@"request"]];
[alert setInformativeText:@"Hello"];
[alert runModal];
NSExtensionItem *response = [[NSExtensionItem alloc] init];
response.userInfo = @{ SFExtensionMessageKey: @{ @"id": message[@"id"], @"uuid": message[@"uuid"], @"contentType": message[@"contentType"], @"response": message[@"request"] } };
[context completeRequestReturningItems:@[ response ] completionHandler:nil];
}
@end
We have noticed that in iOS 16 or greater , the Smart App Banner which shows based on meta tag added is not showing the app ratings inside the popup. Can we override this new behavior to show ratings and custom text.
I have tried to initialize service workers, but they only work in the WebView. When I open an iframe from that WebView, they do not function. Below is my implementation. Is this an issue because iOS does not support service workers in iframes? Please help me answer this. :man-bowing:
self.addEventListener('install', event => {
// Apply this service worker immediately
self.skipWaiting();
});
const putInCache = async (request, response) => {
const cache = await caches.open("v1");
await cache.put(request, response);
};
const customCache = async ({ request, preloadResponsePromise }) => {
};
self.addEventListener("fetch", (event) => {
event.respondWith(
customCache({
request: event.request,
preloadResponsePromise: event.preloadResponse,
}),
);
});
Topic:
Safari & Web
SubTopic:
General
Having the app localised and configured to Dutch from Belgium (nl_BE), I open a url with WKWebView. The website locale detects Dutch from Netherlands (nl_NL)
Hello,
Do notifications works on a PWA who are in a European iPhone ?
Regards
Ed
Topic:
Safari & Web
SubTopic:
General