Objective C と JavaScript のハイブリッド アプリを作成しました。私のアプリは次のように機能します:
- 最初のボタンを押すと、UIWebView が読み込まれます
- この UIWebView では、html を Documents フォルダーに保存できます。
- Web サイトを保存するときに、JSON を作成して情報を保存し、この JSON を Documents フォルダーに保存します。
- 2 番目のボタンを押すと、JSON から情報を読み取り、このデータを html リストに表示するモバイル サイトがある別の UIWebView が読み込まれます。
- 1 つのサイトの名前を押すと、Documents フォルダーからサイトが読み込まれます
最初の 4 つのポイントはうまく機能しますが、サイトのタイトルを押すと問題が発生します。実際、UIWebView は、このサーバーに保存されていないページであると書かれているページを表示します。Finder でアプリの Documents フォルダーに移動し、html サイトをダブルクリックすると、Safari に表示されます。UIWebView でロードすると機能しないのはなぜですか? 私のフローを理解するために、ここにスクリーンショットを投稿します。
コード: HTML をロードするコードをここに投稿します。
メソッドを呼び出してページをロードする viewDidLoad メソッド
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.webView.delegate = self;
//[self loadWebsite:@"http://localhost/root/main/index.html"];
[self loadWebsite:@"http://192.168.2.1/root/main/index.html"];
}
loadWebsite メソッド
-(void)loadWebsite:(NSString*)site
{
NSURL *url = [NSURL URLWithString:site];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView setScalesPageToFit:YES];
[self.webView loadRequest:request];
}