如何将项目目录中的本地映像加载到JS文件中

时间:2016-10-24 10:19:40

标签: javascript ios cordova

我在我的iOS应用程序中面临一个问题,即将项目目录中的图像加载到JS文件中。当我加载JS文件时,我得到一个带问号的图标[我使用图像标签在我的JS文件中显示图像]。我用来显示图像的代码如下:。但它不起作用。有没有其他方法可以通过iOS应用程序中的JS文件显示图像。

3 个答案:

答案 0 :(得分:0)

我无法直接从javaScript文件中找到图像的路径。因为在模拟器中它工作正常,而在iOS测试设备中它不起作用。所以从本机中找到如下所示的图像路径并将路径传递给javaScript

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"add_page" ofType:@"png"];

    NSString *imgHTMLTag = [NSString stringWithFormat:@"<img src=\"file://%@\" width=%@ height=%@/>", filePath12,@"32px",@"32px"];

    NSString * jsCallBackrr = [NSString stringWithFormat:@"myFunc('%@')",imgHTMLTag];

[webView stringByEvaluatingJavaScriptFromString:jsCallBackrr];

所以我用这段代码找到路径,它工作得很好....编码很快......

答案 1 :(得分:0)

引自:https://css-tricks.com/quick-reminder-about-file-paths/

  

以下是您需要了解的相关文件路径:

     

以&#34; /&#34开头;返回到根目录并从那里开始   从&#34; ../"开始;向后移动一个目录并从那里开始   从&#34; ../../"开始;向后移动两个目录并启动   那里(依此类推......)为了向前迈进,先从第一个开始   子目录并继续前进

答案 2 :(得分:0)

尝试设置如下所示的基本网址:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];

[webView loadHTMLString:html baseURL:baseURL];