【发布时间】:2017-09-16 17:29:02
【问题描述】:
我有一个应用程序,我正在从服务器下载一个 html 文件并将其显示在 uiwebview 中,
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES );
NSString *documentsDirectory = [paths firstObject];
NSString *path = [documentsDirectory stringByAppendingPathComponent:[dictionary valueForKey:@"htmlfilename"]];
NSError *err;
NSString *html = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&err];
[self.webview loadHTMLString:html baseURL:[NSURL fileURLWithPath:path]];
像这样,在Didfinishload 之后,我正在加载一个 JS 文件,该文件像这样添加到我的应用程序包中
NSString *javaScript=[NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"foo" ofType:@"js"] encoding:NSUTF8StringEncoding error:nil];
[webview stringByEvaluatingJavaScriptFromString:javaScript];
点击按钮后,我打电话给stringByEvaluatingJavaScriptFromString,但它不起作用。甚至那个 javascript 文件本身也没有加载。有人可以指导我吗?
【问题讨论】:
-
你应该使用 javascript swift 或 Objective c 桥接框架或库,这是 PayUMoney Webview 使用的
-
能分享一下 foo.js 的内容吗?也许该代码只是声明函数,而不是调用它们?
-
如果您解释得更多,您可能会得到更好的答案。 “它不起作用”并没有告诉我们太多。你说“那个javascript文件本身没有加载”,但你怎么知道?我假设您正在谈论在按钮按下时加载的第二个 javascript 文件。但是您没有显示该代码。您试图确定究竟出了什么问题?
-
@fishinear 我在文件上的 js 方法上设置了一个警报作为 alert(''Hi"),这本身没有发生意味着 JS 文件没有正确加载,因为没有其他内容那个方法
标签: javascript jquery ios objective-c uiwebview