87 lines
3.5 KiB
Objective-C
Executable File
87 lines
3.5 KiB
Objective-C
Executable File
//
|
||
// PDR_Manager_Feature.h
|
||
// Pandora
|
||
//
|
||
// Created by Mac Pro_C on 12-12-25.
|
||
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
|
||
//
|
||
|
||
#import <Foundation/Foundation.h>
|
||
#import <UIKit/UIKit.h>
|
||
#import "PDRCore.h"
|
||
#import "PDRNView.h"
|
||
|
||
@class PDRCoreAppFrame;
|
||
@class PDRCoreApp;
|
||
@class PDRCoreAppWindow;
|
||
@class PGMethod;
|
||
@class PDRCoreAppFrameFeature;
|
||
@class H5WEWebEngine;
|
||
NS_ASSUME_NONNULL_BEGIN
|
||
///页面加载完成通知
|
||
extern NSString *const PDRCoreAppFrameDidLoadNotificationKey;
|
||
///页面关闭通知
|
||
extern NSString *const PDRCoreAppFrameDidCloseNotificationKey;
|
||
///页面将要加载通知
|
||
extern NSString *const PDRCoreAppFrameWillLoadNotificationKey;
|
||
///页面开始加载通知
|
||
extern NSString *const PDRCoreAppFrameStartLoadNotificationKey;
|
||
///页面加载失败通知
|
||
extern NSString *const PDRCoreAppFrameLoadFailedNotificationKey;
|
||
///页面标题变化通知
|
||
extern NSString *const PDRCoreAppFrameTitleUpdaedNotificationKey;
|
||
|
||
|
||
/// H5+应用页面
|
||
@interface PDRCoreAppFrame : PDRNView
|
||
|
||
/// 创建runtime页面(使用 WKWebview 渲染)
|
||
/// @param aFrameID 页面标识
|
||
/// @param pagePath 页面地址 支持http:// file:// 本地地址
|
||
/// @param basePath 加载本地页面时指定页面可访问资源路径(通常设置为页面所在目录以 file:// 开头)
|
||
/// @param frame 页面位置
|
||
- (PDRCoreAppFrame*)initWithName:(NSString *)aFrameID
|
||
loadURL:(NSString *)pagePath
|
||
baseURL:(NSString *)basePath
|
||
frame:(CGRect)frame;
|
||
|
||
/// 已废弃,请使用 -initWithName:loadURL:baseURL:frame:
|
||
/// @param aFrameID 页面标识
|
||
/// @param pagePath 页面地址 支持http:// file:// 本地地址
|
||
/// @param frame 页面位置
|
||
/// @param engineName 渲染引擎,可选值 UIWebview 或 WKWebview (UIWebview即将废弃,不建议使用,上面的方法默认使用 WKWebview 渲染页面)
|
||
- (PDRCoreAppFrame*)initWithName:(NSString*)aFrameID
|
||
loadURL:(NSString*)pagePath
|
||
frame:(CGRect)frame
|
||
withEngineName:(NSString*__nullable)engineName __attribute__((deprecated("deprecated, Use -initWithName:loadURL:baseURL:frame:")));
|
||
|
||
|
||
/// 已废弃,请使用 -initWithName:loadURL:baseURL:frame:
|
||
- (PDRCoreAppFrame*)initWithName:(NSString*)viewName
|
||
loadURL:(NSString*)pagePath
|
||
frame:(CGRect)frame __attribute__((deprecated("deprecated, Use -initWithName:loadURL:baseURL:frame:")));
|
||
|
||
/// 页面名字用作plus.webview.findViewById()中的id
|
||
//@property(nonatomic, copy)NSString *frameName; @see//@property(nonatomic, copy)NSString *viewName;
|
||
/// HTML CSS渲染View
|
||
@property(nonatomic, readonly, nullable)H5WEWebEngine *webEngine;
|
||
/// 页面地址
|
||
@property(nonatomic, copy, nullable)NSString* currenLocationHref;
|
||
@property(nonatomic, copy, nullable)NSString* baseURL;
|
||
/**
|
||
@brief 在当前页面同步执行Javascript
|
||
@param js javasrcipt 脚本
|
||
@return NSString* 执行结果
|
||
*/
|
||
- (NSString*)stringByEvaluatingJavaScriptFromString:(NSString*)js;
|
||
- (void)evaluateJavaScript:(NSString*)javaScriptString completionHandler:(void (^__nullable)(id, NSError* ))completionHandler;
|
||
/// @brief 关闭页面中的键盘
|
||
- (void)dismissKeyboard;
|
||
/// @brief 触发document事件 document.addEventListener(evtName,function(e){})
|
||
- (void)dispatchDocumentEvent:(NSString*)evtName;
|
||
- (void)dispatchForgroundEvent:(NSString*)actType;
|
||
- (void)dispatchDocumentEvent:(NSString *)evtName withData:(NSDictionary*__nullable)data;
|
||
|
||
@end
|
||
NS_ASSUME_NONNULL_END
|