2010-12-07 2 views
1

hii, lädt meine iPhone App eine UIWEBVIEW-Website.Wie zu verbergen/zeigen Taste basierend auf Änderungen der Website in UIWEBVIEW

Ich lade eine Login-Seite intially und mein Javascript wird prüfen, ob der Login erfolgreich ist b4 bringt ihn auf eine andere Webseite.

Ich habe Schaltflächen auf der Symbolleiste, die die JavaScript-Funktion aufrufen wird, diese Schaltfläche ist jedoch nur nützlich, nachdem der Benutzer sich angemeldet hat, und überhaupt nicht auf der Anmeldeseite nützlich.

Wie code ich nur, wenn die Website ändert nur, dass die Schaltfläche angezeigt wird, um die Benutzer nicht zu täuschen? Danke

Antwort

1

Dazu müssen Sie Webview-Delegate-Methoden implementieren. Es gibt eine Methode namens

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

// Here I am getting the url values as "mob:Camera", "mob:Lib" So splitting the string and finding whether the second one is Camera or not 


    NSArray *splitArray = [urlString componentsSeparatedByString:@":"]; 

if(![[splitArray objectAtIndex:0] isEqualToString:@"mob"]) 
    return YES; 

if([[splitArray lastObject] isEqualToString:@"Camera"]){ 
    // Do what ever you want 
    [webView stringByEvaluatingJavaScriptFromString:@"alert('Camera Clicked')"]; 
    } 
} 

In dieser Methode habe ich überprüft, ob die Zeichenfolge Kamera besteht oder nicht. Überprüfen Sie ebenfalls, ob sich der Benutzer angemeldet hat oder nicht.

Hinweis: Überprüfen Sie die Benutzer-ID in der URL.

Wenn Sie dann den angemeldeten Benutzer gefunden haben, können Sie die Symbolleiste anzeigen.

Dann wird das Problem gelöst. log in anot ist

Grüße,

Satya

+0

hallo Satya, kann ich überprüfen, wie kann ich in der Methode überprüfen, ob der Benutzer? wie wird sich das iphone mit dem javascript verbinden, um zu wissen, ob es eine andere seite erreicht? thankss – Dayzza

+0

Hallo Kenn, In dieser Methode werden Sie das Anfrageobjekt haben, lesen Sie die URL von diesem Objekt. Ich habe das wie folgt benutzt. – Satya

+0

Hey Satya, danke Mann! Ich probiere das aus. –

Verwandte Themen