2010-10-26 6 views
0

J'ai essayé de charger l'URL http://friscotxcoc.weblinkconnect.com/cwt/External/WCPages2/wcevents/eventsstartpage.aspx?oe=true&ce=true dans un webview mais il montre une erreur 'Entité nbsp non trouvée'. Le lien fonctionne correctement sur Safari (Machine et simulateur) mais ne se charge pas correctement lorsqu'il est chargé via une vue Web. Quelqu'un peut-il me montrer comment faire?entité nbsp non définie

#define kEventsCalenderLink @"http://friscotxcoc.weblinkconnect.com/cwt/External/WCPages2/wcevents/eventsstartpage.aspx?oe=true&ce=true"  
NSURL *eventsURL = [NSURL URLWithString:kEventsCalenderLink]; 
eventsWebView.delegate = self; 
[eventsWebView loadRequest:[NSURLRequest requestWithURL:eventsURL]]; 
+0

vous pouvez afficher le code réel –

+0

Pour ajouter plus, la page se charge dans l'appareil, mais pas dans le simulateur – Nareshkumar

Répondre

2

Le serveur sert cette page avec le type de contenu "application/xhtml + xml" à la version Simulator de Safari. Safari interprète la page comme du XML strict, qui n'a pas d'entité  .

Malheureusement, UIWebView manipule ses en-têtes HTTP dans les coulisses, et il est apparemment impossible de le configurer pour faire une demande qui fera de votre serveur pour servir le contenu comme « text/html »

La seule solution que je suggère est de récupérer le contenu avec un NSURLConnection, puis le nourrir à votre vue web avec la méthode loadData:MIMEType:textEncodingName:baseURL:, en étant sûr de passer "text/html" comme le type MIME. Cela peut également nécessiter l'interception de requêtes futures via la méthode déléguée webView:shouldStartLoadWithRequest:navigationType: (afin de les annuler et de les charger de la manière décrite ci-dessus pour éviter des problèmes similaires). Ou, si vous avez le contrôle du serveur, vous pouvez le configurer pour diffuser du code HTML avec le type de contenu approprié. Ou convertissez le contenu pour utiliser les entités XML appropriées.

1

Faites ceci de la manière

NSString * kEventsCalenderLink @ "http://friscotxcoc.weblinkconnect.com/cwt/External/WCPages2/wcevents/eventsstartpage.aspx?oe=true = true & CE "

NSLog (@"% @ ", kEventsCalenderLink); eventsWebView.delegate = self; eventsWebView.userInteractionEnabled = true; [eventsWebView loadRequest: [[NSURLRequest alloc] initWithURL: [[allocation NSURL] initWithString: kEventsCalenderLink]]];

Vous avez seulement défini l'URL dont vous n'avez pas mentionné le type de chaîne.

J'espère que cela vous aidera, si oui alors s'il vous plaît votez-moi.

Merci Sabby.

+0

Essayé. pas de changement. – Nareshkumar

+0

avez-vous inclus le http: // www. dans la chaîne, si vous n'incluez pas http: // et utilisez simplement www.abc.com, cela ne fonctionnera pas. Je l'ai essayé moi-même. – Sabby

+0

Oh désolé je n'ai pas lu correctement, vous voulez jouer dans le webview, oui son montrant une erreur.Je vais essayer de trouver un peu de sol. alors laissez-vous savoir mon cher. – Sabby

0

Voici l'exemple de code que j'implemented.Hope il vous aider

- (void)loadView 
{ 
    UIView *vew=[[UIView alloc]initWithFrame:[[UIScreen mainScreen]bounds]]; 
    self.view=vew; 
    //[email protected]"sanjay"; 
    //[email protected]"afdsfasd"; 
    self.view.backgroundColor=[UIColor redColor]; 
     [vew release]; 


    UIButton *smsbtn=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    smsbtn.frame=CGRectMake(50, 280, 100, 50); 

    [smsbtn setTitle:@"SMS APP" forState:UIControlStateNormal]; 
    [smsbtn setTitleEdgeInsets:UIEdgeInsetsZero]; 
    [smsbtn addTarget:self action:@selector(loadsms) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:smsbtn]; 
} 

-(void)loadsms 
{ 
    NSString *url = [NSString stringWithFormat:@"http://friscotxcoc.weblinkconnect.com/cwt/External/WCPages2/wcevents/eventsstartpage.aspx?oe=true&ce=true"]; 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]]; 

} 

Ce code fonctionne dude.Try ce out.I ont mis en œuvre ce que pour vous.