js 调用oc——webView
来源:互联网 发布:设计模式php 编辑:程序博客网 时间:2024/05/01 16:05
// shangCheng.h#import <Foundation/Foundation.h>#import "cocos2d.h"#import "platform/ios/CCEAGLView-ios.h"@interface shangCheng : NSObject<UIWebViewDelegate>{}@property(nonatomic,retain)CCEAGLView * MyEaglView;@property(nonatomic,retain)UIWebView * MyWebView;@property(nonatomic,retain)UIActivityIndicatorView * MyActivity;+(shangCheng *)deDaoEaglView : (CCEAGLView *)egvl;+(BOOL)CreatShangChengWebViewWithURL : (NSString *)SHOPURL;- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;- (void)webViewDidStartLoad:(UIWebView *)webView;- (void)webViewDidFinishLoad:(UIWebView *)webView;- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;@end
</pre><pre name="code" class="objc">
// shangCheng.m#import "shangCheng.h"@implementation shangChengstatic shangCheng * AshangCheng = nil;+(shangCheng *)deDaoEaglView : (CCEAGLView *)egvl{ if (!AshangCheng) { AshangCheng = [shangCheng new]; AshangCheng.MyEaglView = egvl; UIActivityIndicatorView * activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; activity.color = [UIColor redColor]; AshangCheng.MyActivity = activity; return AshangCheng; }else{ return AshangCheng; };}+(BOOL)CreatShangChengWebViewWithURL : (NSString *)SHOPURL{ shangCheng * shang = [shangCheng deDaoEaglView:nil]; CCEAGLView * egvl = shang.MyEaglView; UIWebView * webView = [[UIWebView alloc] initWithFrame:egvl.bounds]; shang.MyWebView = webView; webView.delegate = AshangCheng; NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:SHOPURL]]; [egvl addSubview: webView]; [webView loadRequest:request]; CGRect rx =[UIScreen mainScreen].bounds; shang.MyActivity.center = CGPointMake(rx.size.width/2, rx.size.height/2); [egvl addSubview:shang.MyActivity]; return YES;}- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ NSURL * URL = request.mainDocumentURL; if ([URL.absoluteString isEqual: @"item:back"]) { shangCheng * shang = [shangCheng deDaoEaglView:nil]; [shang.MyWebView removeFromSuperview]; return NO; }; shangCheng * shang = [shangCheng deDaoEaglView:nil]; [shang.MyActivity startAnimating]; return YES;}- (void)webViewDidStartLoad:(UIWebView *)webView{}- (void)webViewDidFinishLoad:(UIWebView *)webView{ shangCheng * shang = [shangCheng deDaoEaglView:nil]; [shang.MyActivity stopAnimating];}- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{}@end
调用:
if(cc.sys.os == cc.sys.OS_IOS || cc.sys.os == cc.sys.OS_OSX){ var ret = jsb.reflection.callStaticMethod("shangCheng", "CreatShangChengWebViewWithURL:", "http://www.baidu.com"); if (ret) { cc.log("创建成功!"); } if (!ret) { cc.log("创建失败"); } }
上面有两个OC文件,放在Xcode工程iOS文件夹下即可。在Cocos2d-js工程里面调用上面的javascript代码段即可。
0 0
- js 调用oc——webView
- IOS WebView中JS和OC相互调用
- WebView OC与js交互
- iOS webView的高级用法之JS交互,js与oc的相互调用(JavaScriptCore)
- WebView调用JS失败
- webview调用js
- WebView/JS/Java调用
- webview调用js注意事项
- webView中调用js
- webview调用js
- JS调用OC函数
- OC调用JS内容
- oc调用js方法
- OC调用js(JavaScriptCore)
- js调用OC代码
- iOS-JS调用OC
- OC中调用JS
- OC调用JS(stringByEvaluatingJavaScriptFromString)
- java AtomicInteger
- spring学习笔记(10)——工厂方法配置bean
- robotium 黑盒 获取id点击控件
- 第24讲-项目三:一元二次方程全解
- 位运算总结
- js 调用oc——webView
- PHP操作证书
- iOS分析UI利器—Reveal及简单破解方法
- linux 常用命令
- AIO 简介
- 黑马程序员——Java高新技术——反射(续)、成员方法的反射、数组的反射、Hashcode方法分析、类加载器等
- [转载]Runnable接口与Thread类的区别
- HDU2896 病毒侵袭 AC自动机
- 学英语