 
 extension WKUserScript {
     public class func createInDefaultContentWorld(source: String, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: Bool) -> WKUserScript {
-        if #available(iOS 14.0, *), USE_NEW_SANDBOX_APIS {
+        if #available(iOS 14.3, *), USE_NEW_SANDBOX_APIS {
             return WKUserScript(source: source, injectionTime: injectionTime, forMainFrameOnly: forMainFrameOnly, in: .defaultClient)
         } else {
             return WKUserScript(source: source, injectionTime: injectionTime, forMainFrameOnly: forMainFrameOnly)


extension WKUserContentController {
    public func addInDefaultContentWorld(scriptMessageHandler: WKScriptMessageHandler, name: String) {
        if #available(iOS 14.0, *), USE_NEW_SANDBOX_APIS {
            add(scriptMessageHandler, contentWorld: .defaultClient, name: name)
        } else {
            add(scriptMessageHandler, name: name)

    ///     - completion: Tuple containing optional data and an optional error
    public func evaluateJavascriptInDefaultContentWorld(_ javascript: String,_ completion: @escaping ((Any?, Error?) -> Void)) {
        #if compiler(>=5.3)
            if #available(iOS 14.3, *), USE_NEW_SANDBOX_APIS {
                self.evaluateJavaScript(javascript, in: nil, in: .defaultClient) { result in
                    switch result {
                    case .success(let value):
