mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
Summary: When text is rendered in `WKWebView` WebKit component, the component itself can detect things like phone numbers, flight numbers, links, etc. and render them with additional functionality. For example, when the text `apple.com` is detected, if the `link` data detector type is enabled, the web view will actually render a link that takes the user to the Apple home page. In this diff, I implement the `dataDetectorTypes` prop. The data detector types supported are: 1. phoneNumber 1. link 1. address 1. calendarEvent 1. trackingNumber 1. flightNumber 1. lookupSuggestion These enums are documented in the [[ https://developer.apple.com/documentation/webkit/wkdatadetectortypes | WKDataDetectorTypes docs ]]. Reviewed By: shergin Differential Revision: D6392546 fbshipit-source-id: 4dd373f0ac52f898163cd959eeef6672e55b42a6
44 lines
1.3 KiB
Objective-C
44 lines
1.3 KiB
Objective-C
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import <React/RCTView.h>
|
|
#import <WebKit/WebKit.h>
|
|
|
|
@class RCTWKWebView;
|
|
|
|
@protocol RCTWKWebViewDelegate <NSObject>
|
|
|
|
- (BOOL)webView:(RCTWKWebView *)webView
|
|
shouldStartLoadForRequest:(NSMutableDictionary<NSString *, id> *)request
|
|
withCallback:(RCTDirectEventBlock)callback;
|
|
|
|
@end
|
|
|
|
@interface RCTWKWebView : RCTView
|
|
|
|
@property (nonatomic, weak) id<RCTWKWebViewDelegate> delegate;
|
|
@property (nonatomic, copy) NSDictionary *source;
|
|
@property (nonatomic, assign) BOOL messagingEnabled;
|
|
@property (nonatomic, copy) NSString *injectedJavaScript;
|
|
@property (nonatomic, assign) BOOL scrollEnabled;
|
|
@property (nonatomic, assign) CGFloat decelerationRate;
|
|
@property (nonatomic, assign) BOOL allowsInlineMediaPlayback;
|
|
@property (nonatomic, assign) BOOL bounces;
|
|
@property (nonatomic, assign) BOOL mediaPlaybackRequiresUserAction;
|
|
@property (nonatomic, assign) WKDataDetectorTypes dataDetectorTypes;
|
|
|
|
- (void)postMessage:(NSString *)message;
|
|
- (void)injectJavaScript:(NSString *)script;
|
|
- (void)goForward;
|
|
- (void)goBack;
|
|
- (void)reload;
|
|
- (void)stopLoading;
|
|
|
|
@end
|