9

我有一个 iOS 应用程序来加载一个 html 字符串,该字符串引用同一目录中的外部 css 文件和 javascript 文件。

这是我的html文件:

<html>
<head>
    <meta name="viewport" content= user-scalable="no", width="device-width" />
    <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"/> 
    <link rel="stylesheet" type="text/css" href="mystyle.css" />
    <script type="text/javascript" src="myjavascript.js"></script>
</head>

css 文件工作正常,但似乎 js 文件从未加载。可能是什么原因?

顺便说一句,我正在使用 loadHtmlString: BaseUrl 方法来加载我的 html 字符串。

谢谢

4

3 回答 3

7

这个问题有点老了,但由于它没有得到回答,我想指出,如果你希望你的 web 视图加载驻留在你的包中的 javascript 文件,那么这样做的方法是:

[webView loadHTMLString:html
               baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

如果您不指定 baseURL,则无法加载 javascript 文件。

于 2012-08-04T18:27:11.643 回答
5

默认情况下,xcode 会将新的 Javascript 文件放在 Compile Resources 中,而不是 Bundle Resources 中。单击您的项目,然后单击您的目标。在“构建阶段”下,您可能会在“编译源”下看到 Javascript 文件。将它们向下拖动到“复制捆绑资源”。

于 2013-01-07T17:04:50.930 回答
2

就像其他人说的

  • 使用 baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

  • 复制捆绑资源而不是编译资源。

就是这样!

于 2012-08-10T10:07:37.120 回答