@nota/nativescript-webview-ext
Version:
Extended WebView for NativeScript which adds 'x-local' scheme for local-files. events between WebView and native-layer, javascript execution, injecting CSS and JS-files.
41 lines (40 loc) • 1.59 kB
TypeScript
/// <reference path="types/android/webviewinterface.d.ts" />
import "@nativescript/core";
import { WebViewExtBase } from "./webview-ext-common";
export * from "./webview-ext-common";
export interface AndroidWebViewClient extends android.webkit.WebViewClient {
}
export interface AndroidWebView extends android.webkit.WebView {
client: AndroidWebViewClient | null;
chromeClient: android.webkit.WebChromeClient | null;
bridgeInterface?: dk.nota.webviewinterface.WebViewBridgeInterface;
}
export declare class WebViewExt extends WebViewExtBase {
static supportXLocalScheme: boolean;
nativeViewProtected: AndroidWebView | void;
protected readonly localResourceMap: Map<string, string>;
supportXLocalScheme: boolean;
readonly instance: number;
android: AndroidWebView;
createNativeView(): AndroidWebView;
initNativeView(): void;
disposeNativeView(): void;
ensurePromiseSupport(): Promise<void>;
_loadUrl(src: string): void;
_loadData(src: string): void;
get canGoBack(): boolean;
stopLoading(): void;
get canGoForward(): boolean;
goBack(): void;
goForward(): void;
reload(): void;
registerLocalResource(resourceName: string, path: string): void;
unregisterLocalResource(resourceName: string): void;
getRegisteredLocalResource(resourceName: string): string | undefined;
ensureFetchSupport(): Promise<void>;
executeJavaScript<T>(scriptCode: string): Promise<T>;
getTitle(): Promise<string | void>;
zoomIn(): boolean;
zoomOut(): boolean;
zoomBy(zoomFactor: number): void;
}