js

0, 你需要懂点这些:

getElementsByTagName      获取同类的标签集合
getElementsByClassName    获取class
getElementById            获取id
getElementsByName         带有指定名称的对象的集合
getElementsByTagNameNS    带有指定名称和命名空间的所有元素的一个节点列表

1, oc 给 webView添加js, 调用所添加的方法

//获取上下文
JSContext *context = [self.myWebView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
//写js方法
NSString *js = @"function showAlert(){\
var obj = document.getElementsByTagName('input');\
for (var i = 0; i < obj.length; i++) {\
    input = obj[i];\
    if(input.type == 'button'){\
        input.style.webkitAppearance = 'none';\
    }\
}}\
";
//注入方法,调用方法
[context evaluateScript:js];
[context evaluateScript:@"showAlert()"];

2, oc 拦截close 方法, 执行其他的

//获取上下文
JSContext *context = [self.myWebView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
__weak typeof(self) weakSelf = self;
context[@"close"] = ^() {
    [weakSelf.navigationController popViewControllerAnimated:YES];
};

3, 获取div中的img元素

var obj = document.getElementById('pause').getElementsByTagName('img');
obj[0].style.height = '10px';
console.log(obj);

你可能感兴趣的:(js)