iOS8 webView与JS交互 拦截协议无效不走代理方法的bug

webView与js交互有很多方法。其中一种比较古老简单的方法是在webView的代理中拦截URL协议,进行接下来的操作。但是有时候,js发送的协议中包含一些特殊的字符串,在iOS8上总是不走代理方法,而其他iOS版本正常。这时要在js协议代码前加上 objc: 标识。这样就能正确拦截URL协议了。
例:
JS端定义的协议为:showADDetail://xxxxxxxxxx
如果xxxx中有一些特殊字符,在iOS8上可能无法拦截URL,这时JS端定义协议的时候加上objc:
JS端定义的协议为:objc:showADDetail://xxxxxxxxxx

你可能感兴趣的:(iOS8 webView与JS交互 拦截协议无效不走代理方法的bug)