在objective C中拦截来自javascript的window.external.notify调用
Intercepting window.external.notify call from javascript in objective C
我需要拦截一个javascript调用window.external.notify返回一个安全令牌字符串,我需要进入我的目标C代码。javascript在UIWebView中执行。脚本如下所示:
<script type="text/javascript">
try{
window.external.notify('{<extremely long dictionary as a JSON string>}');
}
catch(err){
alert("Error ACS50021: window.external.notify is not registered.");
}
</script>
我需要以某种方式得到JSON字典成一个字符串在objective C.我试过通过这里的方法:http://www.stevesaxon.me/posts/2011/window-external-notify-in-ios-uiwebview/;但它似乎干扰了html/javascript页面的渲染,也没有捕获字符串(我没有一个方便的acs标识符来检查,以知道我正在拦截正确的调用)。其他类似的问题也有人问过,但我没能找到答案,很多问题看起来都很俗套,而且通常都很过时。我试过访问webview的html内容,但令牌不存在,因为它只通过window.external发送。Notify,它错误地提示未注册
我知道现在iOS 7中有一个原生JS->objC桥,我只需要支持iOS 7+,但我从未使用过它,我似乎也无法启动和运行。它似乎也主要是有你自己的JS源文件作为你的应用程序的一部分,而不是通过UIWebView与服务器通信,但如果我错了,让我知道。
试试这个方法。在这里,页面被重定向并使用receive data方法加载令牌。
相关文章:
- javascript window.open将无法在Chrome控制台上工作
- javascript window.location在检查firebug时给了我一个错误的url路径
- Javascript window.open()toolbar=no不起作用
- javascript window.open(),并在新窗口中搜索DOM
- JavaScript Window 对象始终可访问
- javascript window.addEventListener,覆盖了第一个元素的配置
- Javascript window.getSelection() 长度为 0,而使用 querySelector
- 为什么页面在javascript:window.open之后出现空白并带有“[Object]”
- 如果应用程序托管在IIS上,则Javascript window.location.htm不起作用
- JavaScript window.onload versus body.onload
- Javascript window.postmessage()帮助-don'我不了解用法
- Javascript-window.open()弹出窗口大小问题
- 访问子窗体的asp代码隐藏中的javascript window.myvariable
- 如何在javascript window.print()函数中打印MathML
- JavaScript window.onload
- Firefox-Javascript-window.event无法存活传递到context.apply()
- 关于Javascript window.open(输入路径在这里);.
- JavaScript window.location.search.substr(1)以空字符串形式返回
- javascript window.reload then window.location.href
- JavaScript: window.location() # error