0
回答
UIWebView之hack网页
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

在上一回文章http://blog.csdn.net/favormm/article/details/6603923介绍了如何inject javascriopt 到UIWebView。  其实注入的目的就是为了利用, 今天介绍的就是如何修改网页中已有element的action, 会展示一个实例,如何修改html中button的点击事件。

在html中显示一个button的代码如下:

<input id="myButton1" name="cancel" type="button" value="Click me!" />
button都是用来响应事件的,下面代码是向button加入一个点击事件

<input id="myButton1" name="cancel" type="button" value="Click me!" onclick="showAlert()" /><br/>
这句话的意思就是点击一下button就会调用showAlert()这个javascript 方法。


UIWebView可以显示网页,那么我们可不可以修改已有网页中button的点击事件呢?  其实可以!如何做呢?用javascript就可以做到,下面我将修改这个button的点击事件为其它方法。

第一步:按照上一回文章中介绍的方法注入js, 内容如下:

function clickLink() {
	alert('alread inject alert');
}

function changeButtonAction()
{
	//document.getElementsByName('cancel')[0].onclick=function(){alert('alread inject alert');};
	document.getElementById('myButton1').onclick=function(){clickLink();};
}

第二步:在

- (void)webViewDidFinishLoad:(UIWebView *)webView

{}方法中调用注入的js

[theWebView stringByEvaluatingJavaScriptFromString:@"changeButtonAction();"];

这样在你的UIWebView中显示的时候,那myButton1的点击事件就修改为你的方法了。


javascript真的很有用啊。



原文链接:http://blog.csdn.net/favormm/article/details/6610549
<无标签>
举报
长平狐
发帖于5年前 0回/257阅
顶部