好的,我正在为iPhone应用程序(仍在学习,了解Objective-C和Xcode),它会很好。我正在制作的应用程序已针对Android进行制作。应用程序正在为Android打开“硬编码”网页,这是我遇到问题的一部分。在该网页上的JavaScript有看起来像这样的代码的一部分:iOS WebView Javascript
<a onclick="Android.setCategory('US');" class="navigator_item cat_US">US</a>
这是我很感兴趣的唯一的事情我只想得到那个“点击”一部分,例如一个字符串。所以,无论何时单击该部分,我都希望将其作为一个字符串,以便我可以在此之后执行自己的逻辑,调用某种方法或任何其他方法。我尝试使用
shouldStartLoadWithRequest
但我无法注销任何点击。我在这里做错了什么?也许我对JavaScript知识的缺乏是问题,我不了解基础知识,但我认为应该有可能将这部分从onclick引号转换为字符串。这就是我需要的。
我忘了一件很重要的事情。我无法接触到用于Android的javaScript,这就是Android应用程序的工作原理。这就是为什么我想要做这个“串”的事情。
有什么我可以用stringByEvaluatingJavaScriptFromString和document.getElementsByClassName JavaScript方法做什么?
干杯PEPS :)
我真的很抱歉,同时我在想如何为了解释我需要什么,我忘了提及主要问题......我无法触及那个javaScript。它现在正在与Android一起工作,这是主要问题... 这就是为什么我想要将onclick“content”转换为字符串。就这样我可以在点击之间做出区别。这就是我想要检查什么是点击。 – jovanjovanovic 2013-02-24 19:54:22
有一些技巧可以用Javascript的arguments.callee.name属性来获得你所使用的函数的名字,但是如果你不能触摸JavaScript,那么你就没有好处。这听起来像你要做的是实际解析你已经加载到你的UIWebView中的页面的DOM,并重写JavaScript,onclick is * going *尝试运行JavaScript,你不能拦截,然后决定要做其他事情,你将不得不在你的应用中提供可运行的JavaScript。 – Joe 2013-02-24 20:59:26
有一个更简单的方法。使用'stringByEvaluatingJavaScriptFromString:'使WebView创建一个名为'Android'的Javascript对象,其值为'window.Android = {setCategory:function(){...},...};' – duskwuff 2013-02-24 21:16:01