UIWebView中的iOS loadHtmlString不适用于Javascript

时间:2012-06-28 02:12:58

标签: javascript ios uiwebview

我有一个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字符串。

由于

3 个答案:

答案 0 :(得分:7)

这个问题有点陈旧,但由于没有得到解答,我想指出,如果您希望自己的网页视图加载驻留在您的软件包中的javascript文件,那么这样做的方法是:< / p>

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

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

答案 1 :(得分:5)

默认情况下,xcode会将新的Javascript文件放入Compile Resources而不是Bundle Resources。单击您的项目,然后单击目标。在“Build Phases”下,您可以在“Compile Sources”下看到Javascript文件。将它们拖到“复制捆绑资源”。

答案 2 :(得分:2)

像其他人一样说过

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

  • 复制编译资源中的Bundle Resources和 not

就是这样!