Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.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
Iphone 在shouldStartLoadWithRequest方法中修改URL请求并在Webview中显示_Iphone_Ipad_Uiwebview - Fatal编程技术网

Iphone 在shouldStartLoadWithRequest方法中修改URL请求并在Webview中显示

Iphone 在shouldStartLoadWithRequest方法中修改URL请求并在Webview中显示,iphone,ipad,uiwebview,Iphone,Ipad,Uiwebview,我有一个网络视图和3个url 所以,当应用程序启动时,我在webview中显示URL1 现在,当我选择webview的任何部分时,它将重定向到URL2 但我只想从URL2获取一些数据,不想将其显示给用户 我可以通过使用shouldStartLoadWithRequest:method和返回号来实现 但是现在我需要在我的Webview中显示URL 3和从URL2接收的数据 但是它没有显示任何东西,我怎么能做到呢 为此,我使用以下代码 -(void)viewDidLoad { //Normal sh

我有一个网络视图和3个url

所以,当应用程序启动时,我在webview中显示URL1

现在,当我选择webview的任何部分时,它将重定向到URL2

但我只想从URL2获取一些数据,不想将其显示给用户

我可以通过使用shouldStartLoadWithRequest:method和返回号来实现

但是现在我需要在我的Webview中显示URL 3和从URL2接收的数据

但是它没有显示任何东西,我怎么能做到呢

为此,我使用以下代码

-(void)viewDidLoad
{
//Normal showing of URL1 in webview

}

- (BOOL)webView:(UIWebView*)webViewRef shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
{
if(selectedDataExist){

//get data from URL2
//Make New URL3 string
[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:myNewUrlString]]];
return NO;
}
else
{
//by default URL1 comes 
return YES;
}
我就是这样做的

                NSURL *LocalUrl = [[NSURL alloc] initWithString:[newUrl stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding]];

                NSURLRequest *objNSURLRequest;

                objNSURLRequest = [NSURLRequest requestWithURL:LocalUrl];

                [yourwebview loadRequest:ObjNSURLRequest];

                [LocalUrl release];

                return NO;
我这样做:

我试图通过GET方法发送一个信息,所以对于任何请求的url,我都会将最后10个字符作为子字符串,如果它没有GET方法,它会发出一个新请求,将GET方法附加到url并返回NO,下次调用此函数GET时,它将有GET方法,因此它将继续

 -(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {

NSString *urls = [request.URL absoluteString];
NSString *code = [urls substringFromIndex: [urls length] - 10];

if (![code isEqualToString:@"?iphone=si"]) {
    NSURL *nueva = [NSURL URLWithString:[NSString stringWithFormat:@"%@?iphone=si",urls]];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:nueva];
    [self.mywebview loadRequest:requestObj];
    return NO;
}
return YES;
}