导航:首页 > 净水问答 > oc过滤html

oc过滤html

发布时间:2022-02-25 22:11:29

Ⅰ cordova ios 环境搭建css html js之间是怎么跟oc轮着调用

1.在你的html5中config.js定义你的Plugin的名称和方法。名为MyPlugin,有两个插件:一个为自动更新(Update),一个为密码锁定(PassLock)
var MyPlugin = {
UpDate: function (success, fail, url) {
return PhoneGap.exec(function (args) {
success(args);
}, function (args) {
fail(args);
}, 'UpDate', 'Update', [url]);
},
PassLock: function (success, fail, url){
return PhoneGap.exec(function (args) {
success(args);
}, function (args) {
fail(args);
}, 'PassLock', 'PassLock', [url]);

}
};

2.在xml文件夹下的plugin里注册你的Plugin.
<plugin name="UpDate" value="com.gapsh.plugin.UpdatePlugin"/>
<plugin name="PassLock" value="com.gapsh.plugin.PassLockPlugin"/>

3.自定义你的Plugin类和处理方法.(这里只贴出了自动更新插件的代码,很简单,只是作了一个跳转)
public class UpdatePlugin extends Plugin {
@Override
public PluginResult execute(String arg0, JSONArray arg1, String arg2) {
/*
* 跳转到UpdateActivity
*/
Intent intent = new Intent(ctx.getContext(),UpdateActivity.class);
ctx.startActivity(intent);
String result = "跳转至UpdateActivity";
PluginResult pluginResult = new PluginResult(Status.OK, result);
return pluginResult;
}
}
4.在你的JS中调用你的插件。
//自动更新
upDate: function () {
//调用android原生的方法检查并更新
MyPlugin.UpDate(function(){},function(){},'这里是一个参数,我这里不涉及参数的使用,所以随便写');
},
passLock: function(){
//调用android原生的方法进行密码锁定有关操作
MyPlugin.PassLock(function(){},function(){},'这里是一个参数,我这里不涉及参数的使用,所随便写');
},

5.测试,当你点击你的某个按钮或者链接执行你的update:function这个JS,然后在JS里调用了MyPlugin下的Update插件,这个插件在config.js里被定义,在plugin.xml中被注册,插件具体执行的地方时UpdatePlugin里的execute()方法。执行完这个方法后,你就已经调用了Android的原生代码咯,当然我这里是设置成了跳转到另外一个Activity.

Ⅱ 在oc渲染器中怎么弄环境吸收效果

你没有在渲染设置里添加环境吸收效果。
1.在渲染设置里点击效果。添加环境吸收。就可以调整环境吸收参数了。

2.AO单独渲染,不但要启用多通道渲染的,环境吸收。还要在渲染设置的,保存设置里,设置多通道图像的,保存位置,和关闭多层文件。

这样AO就可以单独渲染出来了。

Ⅲ oc html5格式的数据怎么解析

var data1=new Date("1990/01/01").getTime(); 转化成毫秒 对比就行了.

Ⅳ OC代码如何与HTML内容交互通知

javascript
="url="+$("#url").val();$.ajax({type:"POST",url:"targetAction!targetMethod.action",data:param,dataType:"json",success:function(json){alert(json);},error:function(){alert("连接超时");}});
java
=ServletActionContext.getResponse();response.resetBuffer();response.setCharacterEncoding("utf-8");response.getWriter().print(JSONArray.fromObject(data));
js端需要有个jquery,java端需要有个json-lib,这两个你可以到网上下载

Ⅳ IOS打开一个本地html,怎么给他带上一个参数

本地文件不可以url直接加参数,可以在uiwebview 加载好后 用js和oc 交互,传递参数。

参考:

NSURL*urlNosmoke=[NSURLURLWithString:[NSStringstringWithFormat:@"nosmokeProgram.html"]];

NSString*strFilePath=[self.viewController.:[urlNosmokepath]];

NSURL*urlNonSmoking=[NSURLURLWithString:@"?nonSmokingId=2013"relativeToURL:[NSURLURLWithString:strFilePath]];

NSURLRequest*req=[[NSURLRequestalloc]initWithURL:urlNonSmoking
cachePolicy:
timeoutInterval:20.0f];

[self.viewController.webViewEngineloadRequest:req];

Ⅵ oc如何引用html5写的登录页面

1.利用webView控件加载本地html5或者网络上html52.设置控制器为webView的代理,遵守协议3.实现代理方法webViewDidFinishLoad:4.在代理方法中进行操作HTML5中的标签(CRUD-->增删改查)

Ⅶ HTML与oc的交互,相互回调的问题

//
// ViewController.m
// OC_And_JS
//
// Created by 张杰 on 15/7/9.
// Copyright © 2015年 张杰. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
_mWebView.delegate = self;

//打开URL
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
[self.mWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath: path]]];
}

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSString *urlstr = request.URL.absoluteString;
NSRange range = [urlstr rangeOfString:@"ios://jwzhangjie"];
if (range.length!=0) {
_js_call_oc_show.text = [NSString stringWithFormat:@"请访问地址:%@", urlstr];
}
return YES;
}

-(void)webView:(nonnull UIWebView *)webView didFailLoadWithError:(nullable NSError *)error{
NSLog(@"加载失败");
}

-(void)webViewDidStartLoad:(nonnull UIWebView *)webView{
NSLog(@"开始加载");
}

-(void)webViewDidFinishLoad:(nonnull UIWebView *)webView{
NSLog(@"开始结束");
// 对于调用js的时候最好这个方法里面或者之后
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

- (IBAction)ocCallJsNoParams:(id)sender {
NSString *js = [NSString stringWithFormat:@"ocCallJsNoParamsFunction();"];
[self.mWebView :js];
}

- (IBAction)ocCallJsHasParams:(id)sender {
NSString *js = [NSString stringWithFormat:@"ocCallJsHasParamsFunction('%@','%@');",@"jwzhangjie",@"http://jwzhangjie.cn"];
[self.mWebView :js];
}
@end

Ⅷ ios oc掉js并修改html界面 需要异步吗

使用示例: 下面的示例代码将调用上面NativeOcClass的方法,在js层只需要这样调用: var ret = jsb.reflection.callStaticMethod("NativeOcClass", "callNativeUIWithTitle:andContent:", "cocos2d-js", "Yes! you call a Native UI from Reflection"); 这里是这个方法在OC的实现,可以看到是弹出一个native的对话框。并把title和content设置成传入的参数,并返回一个boolean类型的返回值。 +(BOOL)callNativeUIWithTitle:(NSString *) title andContent:(NSString *)content{ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title message:content delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; [alertView show]; return true; } 此时,就可以在ret中接受到从OC传回的返回值(true)了。 注意: 在OC的实现中,如果方法的参数需要使用float、int、bool的,请使用如下类型进行转换: float,int 请使用NSNumber类型 bool请使用BOOL类型。 例如下面代码,传入2个浮点数,然后计算他们的合并返回,使用NSNumber而不是int、float去作为参数类型。 +(float) addTwoNumber:(NSNumber *)num1 and:(NSNumber *)num2{ float result = [num1 floatValue]+[num2 floatValue]; return result; }

Ⅸ 登录网站显示octype+html登录不上怎么回事

摘要 这类型的网站用360浏览器是登录不了的

Ⅹ iOS开发 怎么实现js调取oc中的方法

我们要做的有如下几件事情:

首先:通过webview加载一个本地html文件
[self.myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"]isDirectory:NO]]];
其次:我们要在我们的OC代码里面注册JS方法

- (void)h5callApp

{

//获取该UIWebview的javascript执行环境。

JSContext *context = [self.myWebView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

context.exceptionHandler = ^(JSContext *con, JSValue *exception) {

NSLog(@"%@", exception);

con.exception = exception;

};

context[@"h5CallApp"] = ^() {

NSLog(@"+++++++Begin Log+++++++");

NSArray *args = [JSContext currentArguments];

for (JSValue *jsVal in args) {

NSLog(@"%@", jsVal);

}

JSValue *this = [JSContext currentThis];

NSLog(@"this: %@",this);

NSLog(@"-------End Log-------");

};

}

要保证本地的html里面有h5CallApp这个方法哦。
这就是刚刚上述博客里面提到的方法,是不是看上次很简单的样子。
But
我运用到我们项目里面的时候,死活不能调用该方法,why?我厚着脸皮问了我们的帅哥安卓开发,得知他们里面有这一样一行代码
webView.addJavascriptInterface(new JSInvoke(), "test");
看上去第一眼的感觉是不是累似注册了一个东西,可是我找了好多博客我没有找到我们IOS类似的啊,着急啊着急。
意外的意外,伟大的github上面就是资源多,我在上面找到一个EasyJSWebViewSample这样一个开源项目,里面有一句

MyJSInterface* interface = [MyJSInterface new];

[self.myWebView addJavascriptInterfaces:interface WithName:@"MyJSTest"];

是不是感觉和安卓里面的那个注册类似的,没错,太开心了。
最后的最后,你以为结束了,NO!
该Demo里面的html有空的小朋友可以看一下。
由于项目需求我们是3个参数,在该demo里面执行拿到第一个参数,该demo就运行出错,提示我们数组越界了,在这里真的浪费了好多时间,后来发现他们的demo里面调用两个参数的方法在JS里面声明的方法与OC里面真正的实现方法有点差入,比如OC里面定义的方法
- (void) h5CallApp: (NSString*) param And2: (NSString*) param2 And3: (NSString*) param3
在html里面只能写成
MyJSTest.h5CallAppAnd2And3("param1","param2","param3")。
是不是觉得不可思义,最后我整体看了一下代码,里面好像有这一段在注入JS的时候有用到的

inject: function (obj, methods){\\

window[obj] = {};\\

var jsObj = window[obj];\\

\\

for (var i = 0, l = methods.length; i < l; i++){\\

(function (){\\

var method = methods[i];\\

var jsMethod = method.replace(new RegExp(\\":\\", \\"g\\"), \\"\\");\\

jsObj[jsMethod] = function (){\\

return EasyJS.call(obj, method, Array.prototype.slice.call(arguments));\\

};\\

})();\\

}\\

}

这个好像是替换方法的,原谅我的无知啊,我也是没看懂,仅仅是感觉与猜测,勿喷我,我真的怕被喷。
最后的最后,JS的那边的开发肯定是不会为了将IOS与安卓开发做区分写代码的,所以我只能在注入JS完成后加了这么一句
[webView :@"test.h5CallApp=test.h5CallAppAnd2And3;"]
这句话的作用是替换JS里面的方法的。

阅读全文

与oc过滤html相关的资料

热点内容
德龙en560除垢 浏览:14
传奇怎么更换机油滤芯 浏览:604
草麻黄蒸馏 浏览:111
一台污水泵能赚多少 浏览:637
专用除垢剂多少钱一升 浏览:444
生产ro膜壳的企业 浏览:370
在污水处理厂培训之后待遇 浏览:499
医疗废水处罚环保依据 浏览:105
江西碱废水处理价格 浏览:997
发酵蒸馏水 浏览:615
纯水导不导电怎么回事 浏览:910
皇冠轿车如何安装空调滤芯 浏览:170
工厂乱调废水 浏览:311
净水器tds值为什么不降下来 浏览:739
865更新处理器提升什么 浏览:23
净水器一个月多少水 浏览:503
脱盐水edi产水电阻小怎么办 浏览:18
超纯水的化学公式是什么 浏览:923
宠物饮水机为什么贵 浏览:128
桂林污水处理厂的公司有几家 浏览:338