@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.
48 lines (47 loc) • 1.7 kB
TypeScript
/// <reference path="platforms/android/webviewinterface.d.ts" />
import { WebViewExtBase } from "./webview-ext-common";
export * from "./webview-ext-common";
export declare namespace dk {
namespace nota {
namespace webviewinterface {
class WebViewBridgeInterface extends java.lang.Object {
owner?: WebViewExt;
}
}
}
}
export interface AndroidWebViewClient extends android.webkit.WebViewClient {
owner: WebViewExt | null;
}
export interface AndroidWebView extends android.webkit.WebView {
client: AndroidWebViewClient | null;
bridgeInterface?: dk.nota.webviewinterface.WebViewBridgeInterface;
}
export declare class WebViewExt extends WebViewExtBase {
nativeViewProtected: AndroidWebView | void;
protected readonly localResourceMap: Map<string, string>;
readonly isUIWebView: boolean;
readonly isWKWebView: boolean;
readonly instance: number;
android: android.webkit.WebView;
createNativeView(): AndroidWebView;
initNativeView(): void;
disposeNativeView(): void;
_loadUrl(src: string): void;
_loadData(src: string): void;
readonly canGoBack: boolean;
stopLoading(): void;
readonly canGoForward: boolean;
goBack(): void;
goForward(): void;
reload(): void;
registerLocalResource(resourceName: string, path: string): void;
unregisterLocalResource(resourceName: string): void;
getRegisteredLocalResource(resourceName: string): string;
ensureFetchSupport(): Promise<void>;
executeJavaScript<T>(scriptCode: string): Promise<T>;
getTitle(): Promise<string>;
zoomIn(): boolean;
zoomOut(): boolean;
zoomBy(zoomFactor: number): any;
}