Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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
使用Javascript在不同UIWebView中打开页面时出现问题_Javascript_Objective C_Ipad_Uiwebview - Fatal编程技术网

使用Javascript在不同UIWebView中打开页面时出现问题

使用Javascript在不同UIWebView中打开页面时出现问题,javascript,objective-c,ipad,uiwebview,Javascript,Objective C,Ipad,Uiwebview,我有一个ipad应用程序,大部分功能是web应用程序。UI只是三个加载页面的UIWebView。单击的每个链接都被截获,我在URL中有一个名为iPadTarget的请求变量 例: 上面的代码将在第二个webview中打开,因为iPadTarget=2 以下是实现此目的的代码: - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebVi

我有一个ipad应用程序,大部分功能是web应用程序。UI只是三个加载页面的UIWebView。单击的每个链接都被截获,我在URL中有一个名为iPadTarget的请求变量

例:

上面的代码将在第二个webview中打开,因为iPadTarget=2

以下是实现此目的的代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSURL *url = [request URL];

    //Extract the value from request variable 'iPadTarget' in url string.
    NSString *test = [url query];
    int index = [test rangeOfString:@"iPadTarget="].location;   
    int target = index + 11;
    char c = [test characterAtIndex:target];
    NSLog(@"%c",c);

    if (navigationType == UIWebViewNavigationTypeLinkClicked || navigationType == UIWebViewNavigationTypeFormSubmitted || navigationType == UIWebViewNavigationTypeOther) {
        if (c == '1') {
            [viewOne loadRequest:request];
            return NO;
        } else if (c == '2') {
            [viewTwo loadRequest:request];
            return NO;
        } else if (c == '3') {
            [viewThree loadRequest:request];
            return NO;
        }
    } 
    return YES;
}
我的问题是:我有一个按钮中有onclick事件的表单:

<button onclick='window.open("someotherpage.asp?iPadTarget=2");window.open("someotherpage.asp?iPadTarget=3");'>Button</button>
该代码应该在第二个和第三个UIWebView中打开相同的页面。但是,它什么也不做,当我查看控制台输出时,它无限地打印字符c


很抱歉问了这么长的问题,我将非常感谢您的帮助

您确定这只是第一个UIWebView的代理吗

无论您做什么,都要包含一些更详细的日志记录。即

NSLog(@"request for webview %x, url=%@", ... );
而且

NSLog(@"returning NO because ...");
查找循环的原因