当前位置:  开发笔记 > 编程语言 > 正文

UIWebView不加载外部Javascript文件

如何解决《UIWebView不加载外部Javascript文件》经验,为你挑选了4个好方法。

我有以下无辜的代码(index.html),但它不加载该code.js文件.如果我在HTML页面中复制/粘贴文件的内容,它的效果很好.两者index.htmlcode.js文件都在同一目录中.这是代码段.任何帮助都会很棒.

index.html:




 

  

ViewController.m:

- (void)viewDidLoad {
  [super viewDidLoad];
// load the first webpage
[homePageWebView loadRequest:[NSURLRequest requestWithURL:[NSURLfileURLWithPath:
  [[NSBundle mainBundle] pathForResource:@"index"ofType:@"html"] isDirectory:NO]]];
}

Linda.. 60

我发现Xcode认为需要编译js文件.

在Xcode中打开项目.转到"目标"并查看"编译源".如果你看到你的js文件夹中,将它移动到"复制包资源"文件夹,从"编译源"文件夹中删除.

如果iPhone已安装用于测试,请从iPhone中删除该应用.转到Xcode中的Build菜单并清除所有目标.然后重新编译.

立即检查您的HTML文件是否实际看到您的js文件.

琳达



1> Linda..:

我发现Xcode认为需要编译js文件.

在Xcode中打开项目.转到"目标"并查看"编译源".如果你看到你的js文件夹中,将它移动到"复制包资源"文件夹,从"编译源"文件夹中删除.

如果iPhone已安装用于测试,请从iPhone中删除该应用.转到Xcode中的Build菜单并清除所有目标.然后重新编译.

立即检查您的HTML文件是否实际看到您的js文件.

琳达


我无法使用位于子文件夹中的js文件.仅当js文件与html文件位于同一文件夹中时才有效:/
准确地说:在左侧的项目导航器中单击您的项目。现在,主窗格的左侧应有一个侧窗格。此侧窗格应具有“ PROJECT”和“ TARGETS”。在“ TARGETS”标题下单击您的项目。右边的窗格现在应该有一堆选项卡标题,分别是“摘要”,“信息” ...等等。单击“构建阶段”。然后,应显示许多小节。打开“编译源”和“复制捆绑资源”部分。然后,单击所有JavaScript文件并将其从“编译源”部分拖到“复制捆绑资源”部分。

2> skorulis..:

您需要将html文件读入字符串并在加载时设置baseURL,以便了解相对路径.

NSError* error;
NSString* html = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"] encoding:NSASCIIStringEncoding error:&error];

[webview loadHTMLString:html baseURL:[self getBaseURL]];

- (NSURL*) getBaseURL {
    NSString* path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
    NSRange r = [path rangeOfString:@"/" options:NSBackwardsSearch];
    path = [path substringToIndex:r.location];

    path = [path stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
    path = [path stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
    path = [NSString stringWithFormat:@"file:/%@//",path];
    return  [NSURL URLWithString:path];
}

这样的事情对你有用.



3> NSRover..:

为了补充Linda的答案,您可以在这里找到文件:

在此输入图像描述



4> Teja Swaroop..:

我也遇到了同样的问题:我在将文件添加到XCode时通过简单的操作克服了它我做了一个小的更改,如下图所示:

在下图中,一个用于添加HTML,Javascript和CSS等文件,第二个用于一般XCode文件.

用于HTML,Javascript和CSS文件

对于一般的XCode文件

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有