我试图将JS注入到UIWebView中。直到某个时刻,一切工作般的魅力:将iOS JS对象注入到WebView中
在viewDidLoad
我装一个HTML按钮的WebView:
NSString *loadedHTML = <input type='button' onclick='test();' value='test'/>;
[_webView loadHTMLString:loadedHTML baseURL:nil];
,所以我可以测试我的JS功能是否工作,只需点击按钮。在webViewDidFinishLoad:webView
我被注射JS功能:
NSString *jsScript =
@"var test = function() {alert('not in class')};"
@"document.getElementsByTagName('head')[0].appendChild(test);";
[webView stringByEvaluatingJavaScriptFromString:jsScript];
这完美的作品。
现在我需要创建一个类似的函数,但它必须在一个对象内。我试过是:
改变HTML,使按键调用对象的功能:
loadedHTML = <input type='button' onclick='myObject.test();' value='test'/>;
改变JS,所以它会在它的对象和功能:
jsScript =
@"var myObject = new function() {"
@"var test = function() {alert('not in class')};"
@"document.getElementsByTagName('head')[0].appendChild(myObject);";
@"}";
它确实没有。我试图在three different ways中创建对象,将myObject.test
附加到文档 - 没有任何帮助。我在这里做错了什么?
将脚本放在单独的资源中是我在最后完成的。不管怎么说,还是要谢谢你。 – Mateusz