Here we go with a simple setup.
Create the following folder structure in your Resources folder.
Note that the blue folders are referenced ones
The css is just candy 🙂 In lib.js resides your javascript code which you’d like to use.
index.html
<html>
<head>
<link rel="stylesheet" type="text/css" href="https://stackoverflow.com/questions/5733883/css/standard.css">
<script src="js/lib.js" type="text/javascript" />
</head>
<body>
<h2>Local Javascript</h2>
<a href="javascript:alert('Works!')">Test Javascript Alert</a>
<br/>
<br/>
<a href="javascript:alertMeWithMyCustomFunction('I am');">External js test</a>
</body>
</html>
lib.js
function alertMeWithMyCustomFunction(text) {
alert(text+' -> in lib.js');
}
Loading of the content in the webview
Note: webView is a property, view created with instance builder
- (void)viewDidLoad
{
NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"index"
ofType:@"html"
inDirectory:@"/htdocs" ];
NSString *html = [NSString stringWithContentsOfFile:htmlPath
encoding:NSUTF8StringEncoding
error:nil];
[webView loadHTMLString:html
baseURL:[NSURL fileURLWithPath:
[NSString stringWithFormat:@"%@/htdocs/",
[[NSBundle mainBundle] bundlePath]]]];
}
And this should be the results:
EDIT:
snowman4415 mentioned that iOS 7 does not like self closing tags script tags, so if something is not working on iOS 7, you may need to close the tag with </script>