2010-07-01 11 views
0

Je charge une page Web externe dans UIWebView. Lorsque la page Web se charge, il y a une boîte d'alerte (avec les boutons OK et Annuler) avec quelques suggestions/informations sur la page Web. Je veux bloquer cette zone d'alerte lorsque la page Web est chargée dans le composant UIWebView de mon application iPhone. Comment puis-je implémenter dans mon code?Désactiver la zone d'alerte dans UIWebView


Merci pour votre réponse. Je ne suis pas en charge de la page web externe (mais je pourrais demander au propriétaire de la page web concernée de faire les changements par rapport à l'exigence suivante). L'exigence est que la boîte d'alerte (utilisée pour parler de mon application iphone) puisse être montrée quand nous regardons la page Web dans le navigateur d'iPhone Safari, mais pas dans UIWebView dans lequel j'emploie la même page Web) de mon application d'iphone. J'utilise la même URL de page Web à la fois dans iPhone Safari et dans mon application iPhone avec UIWebView. L'exigence est donc d'afficher la zone Alerte lorsque nous visualisons la page Web dans iPHone Safari et que la zone Alerte n'est pas affichée lorsque nous visualisons la même page Web dans l'application iPhone (dans UIWebView). J'espère avoir clairement expliqué mon exigence. S'il vous plaît donner une solution pour cela.

+0

double possible de [UIWebView: Puis-je désactiver l'alerte javascript() à l'intérieur une page web] (https://stackoverflow.com/questions/3400429/uiwebview-can-i-désactiver-le-javascript-alert-inside-any-web-page) – alpere

Répondre

0

Êtes-vous responsable de cette page Web externe? Si tel est le cas, vous pouvez faire quelque chose comme ceci:

Effectuez la UIWebView chargez externalpage.html?noalert au lieu de externalpage.html. ensuite sur externalpage.html vous pouvez vérifier si cette variable de chaîne de requête existe, et seulement montrer l'alert() si elle n'a pas:

if(!document.location.search || document.location.search.substring(1) != 'noalert') { 
    alert('Boo!'); 
} 
1

en utilisant la méthode stringByEvaluatingJavaScriptFromString: vous pouvez changer tout ce que vous voulez sur la page avec un javascript que vous fournissez, de sorte que vous pouvez surcharger ou remplacer la fonction d'alerte pour faire ce que vous voulez

0

Depuis un UIWebView traduit tous Javascript alerte en natif UIAlertViews il est fai Simple à bloquer sur la fin native. En regardant dans UIAlertView.h il y a seulement une méthode publique pour montrer une alerte qui est commodément appelée: - (void)show;.

@interface UIAlertView (Blocker) 
@end 

#import "UIAlertView+Blocker.h" 

@implementation UIAlertView (Blocker) 

- (void)show { 
    return; 
} 
@end 

Vous pouvez trouver la réponse ici: https://stackoverflow.com/a/21698251/2377378

Questions connexes