我正在为本地企业创建一个应用程序,但他们让我很痛苦,因为他们不会也不会创建 iPhone 友好的网页。他们反而要求我只加载网页的特定部分。
无论如何通过指定用户可以导航的网页的唯一允许坐标来做到这一点?他们希望我只显示几个 html 表格,并希望他们的桌面网页的其余部分带有链接等。用户无法看到。他们所要求的对我来说似乎有点“骇人听闻”,但我感谢提供的任何帮助。
我正在为本地企业创建一个应用程序,但他们让我很痛苦,因为他们不会也不会创建 iPhone 友好的网页。他们反而要求我只加载网页的特定部分。
无论如何通过指定用户可以导航的网页的唯一允许坐标来做到这一点?他们希望我只显示几个 html 表格,并希望他们的桌面网页的其余部分带有链接等。用户无法看到。他们所要求的对我来说似乎有点“骇人听闻”,但我感谢提供的任何帮助。
-(void)viewDidAppear:(BOOL)animated
{
NSString *string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://stackoverflow.com/questions/13716234/how-to-load-only-a-specific-section-of-a-requested-uiwebview-url"] encoding:NSASCIIStringEncoding error:nil];
NSLog(@"CNN String is %@",string);
[self.wv loadHTMLString:string baseURL:nil];
[self.wv setDelegate:self];
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *testString = [self.wv stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"nav-tags\").innerHTML;"];
NSLog(@"Test String is %@",testString);
}
如果您输入此代码,您将看到“标签”作为输出。使用正确的 id 在您的设备上执行相同的操作。
我个人会通过在 php.ini 中创建应用程序部分来解决这个问题。因此,给定页面可能会进行多次 RESTful ajax 调用以将内容加载到单独的 JavaScript 视图控制器。
您可以使用下载整个网页并使用组合技巧(如正则表达式等)来获取您想要的网页部分。
如果 html 页面使用 css 并将部分创建为带有 id 的 div,那将是最简单的。这将使您的工作变得轻松。
但是,这并不容易维护,因为一旦更改了网页,您的代码可能会中断。在 firefox 中使用 firebug 或其他一些插件并确定要显示的部分,然后着手找出解决方案。您还可以使用 javascript 获取 dom 元素并在 UIWebview 中显示它们。