Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS中为HTML、CSS和Javascript页面制作包装器_Javascript_Iphone_Ios_Css_Hybrid Mobile App - Fatal编程技术网

如何在iOS中为HTML、CSS和Javascript页面制作包装器

如何在iOS中为HTML、CSS和Javascript页面制作包装器,javascript,iphone,ios,css,hybrid-mobile-app,Javascript,Iphone,Ios,Css,Hybrid Mobile App,我正在构建一个应用程序,我想在其中显示一个本地存储的网页(HTML+CSS+JS)。我尝试了很多方法,但是页面没有响应java脚本。下面是我尝试过的代码部分 尝试:1 //html NSString *actualPageMarkupFilePath = [[NSBundle mainBundle] pathForResource:@"inex" ofType:@"html"]; NSData *actualPageMarkupData = [NSData dataWithContentsOfF

我正在构建一个应用程序,我想在其中显示一个本地存储的网页(HTML+CSS+JS)。我尝试了很多方法,但是页面没有响应java脚本。下面是我尝试过的代码部分

尝试:1

//html
NSString *actualPageMarkupFilePath = [[NSBundle mainBundle] pathForResource:@"inex" ofType:@"html"];
NSData *actualPageMarkupData = [NSData dataWithContentsOfFile:actualPageMarkupFilePath];
NSString *actualPageMarkup = [[NSString alloc]initWithData:actualPageMarkupData encoding:NSASCIIStringEncoding];

// load css styles
NSString *cssPath   = [[NSBundle mainBundle] pathForResource:@"style" ofType:@"css"];
NSData *cssData     = [NSData dataWithContentsOfFile:cssPath];
NSString *cssString = [[NSString alloc] initWithData:cssData encoding:NSASCIIStringEncoding];

// load js
NSString *jsPath1   = [[NSBundle mainBundle] pathForResource:@"myzepto" ofType:@"js"];
NSData *jsData1     = [NSData dataWithContentsOfFile:jsPath1];
NSString *jsString1 = [[NSString alloc] initWithData:jsData1 encoding:NSASCIIStringEncoding];

NSString *jsPath2   = [[NSBundle mainBundle] pathForResource:@"zepto.min" ofType:@"js"];
NSData *jsData2     = [NSData dataWithContentsOfFile:jsPath2];
NSString *jsString2 = [[NSString alloc] initWithData:jsData2 encoding:NSASCIIStringEncoding];

// compose full html page
NSString *pageContent = [NSString stringWithFormat:@"%@%@%@%@", cssString, jsString1, jsString2, actualPageMarkup];
[self.HTMLWebView loadHTMLString:pageContent baseURL:[NSURL URLWithString:@""]];
尝试:2

NSString *filePath =
[[NSBundle mainBundle] pathForResource:@"inex" ofType:@"html"];
NSData *htmlData = [NSData dataWithContentsOfFile:filePath];

if (htmlData) {
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *path = [bundle bundlePath];
    NSString *fullPath = [NSBundle pathForResource:@"inex"
                                            ofType:@"html" inDirectory:path];
    [_HTMLWebView loadRequest:[NSURLRequest requestWithURL:
                          [NSURL fileURLWithPath:fullPath]]];
}
尝试:3

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"inex" ofType:@"html"];
NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile];
[_HTMLWebView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];
尝试:4

NSURL *urlPageFile = [[NSBundle mainBundle] URLForResource:@"inex" withExtension:@"html"];
NSURLRequest *webPageRequest = [[NSURLRequest alloc] initWithURL:urlPageFile];
[_HTMLWebView loadRequest:webPageRequest];
[webPageRequest release];
创建webView并将HTML加载到。
还将JS和CSS文件复制到项目文件夹中。检查html文件中指向JS和CSS文件的路径。

您应该使用html、CSS等将目录复制到带有选项的项目中
“将项目复制到目标组的文件夹(如果需要)”
“为任何添加的文件夹创建文件夹引用”

并使用以下代码将页面加载到webview中:

NSString* path = [[NSBundle mainBundle] pathForResource:@"index.html"
                                                 ofType:nil
                                            inDirectory:@"MyWebSite"];

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]];
[_webView loadRequest:request];

嗨,q0re,还是不走运(.我仍然无法在屏幕上显示图像,也无法单击屏幕上的任何按钮。我认为.js文件没有响应,但另一方面,相同的文件在android设备上运行良好。页面是否显示?我的意思是,html代码,但样式和js没有..?是的,html代码确实显示在屏幕上,但显示方式相同与其他尝试过的方法一起出现(其他4种方法),仍然没有响应java sript。是的,这是因为html文件中指向js和css样式表的路径错误。是的,q0re您是对的。在我使用选项“为任何文件夹创建组”而不是使用选项“为任何添加的文件夹创建文件夹引用”添加html文件夹后,路径错误。非常感谢您的帮助。c希尔斯:)
NSString* path = [[NSBundle mainBundle] pathForResource:@"index.html"
                                                 ofType:nil
                                            inDirectory:@"MyWebSite"];

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]];
[_webView loadRequest:request];