webview et transitions
Bonjour,
petite question... certaines pages optimisées iphone ouvrent un nouvelle fenêtre navigateur a chaque click sur un lien c'est le cas de
http://cydia.saurik.com/ par exemple.
Quand ces type de pages sont ouvertes dans une application via une webview on a un joli effet de transition de page en page.
Par contre quand je lance ces pages depuis mon application que j'ai codé avec xcode rien ne se passe quand je click sur un lien.
J'imagine qu'il faut configurer la webview pour jouer la transition quand on ouvre une nouvelle page. Cependant il n'y a aucun paramètre de ce type dans la doc... comment faire ?
petite question... certaines pages optimisées iphone ouvrent un nouvelle fenêtre navigateur a chaque click sur un lien c'est le cas de
http://cydia.saurik.com/ par exemple.
Quand ces type de pages sont ouvertes dans une application via une webview on a un joli effet de transition de page en page.
Par contre quand je lance ces pages depuis mon application que j'ai codé avec xcode rien ne se passe quand je click sur un lien.
J'imagine qu'il faut configurer la webview pour jouer la transition quand on ouvre une nouvelle page. Cependant il n'y a aucun paramètre de ce type dans la doc... comment faire ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Le fait d'ouvrir une nouvelle fenêtre (ou onglet) lors d'un clic sur un lien est une propriété de la norme html (typiquement, l'attribut target d'une balise <a> avec la valeur _blank).
L'effet de transition que tu évoques semble (je n'ai pas d'iPhone) être le fait du Safari de iPhone lors de l'ouverture de cette nouvelle fenêtre/onglet. Donc ça n'aurait rien à voir avec webview (qui est un élément d'interface graphique permettant la visualisation du html).
Si tu veux avoir de tels effets dans ta propre appli (qui utilise les webviews), c'est à toi de les coder.
Ouvre la doc iPhone Reference Library>Sample Code (dans l'onglet Resource Types) tu trouveras plusieurs exemples à consulter, (par exemple View Transitions, mais je ne sais pas si c'est ton besoin).
Le seul problème est quand j'ouvre une page avec un _blank dans mon webview rien ne se passe(comme si je n'avais pas clické).
Alors que dans beacoup de programes iphone il y a une transition et la nouvelle page est affichée.
Si c'est une transition de vue ne n'ai pas trouvé comment detecter un clic sur un certain type de lien _blank afin d'appeler une nouvelle vue et un nouveau webview.
Les seules méthodes présentes sont
et le delgate
Par défaut, webkit ne gère pas le "multifenêtrage".
C'est à l'application de le faire (par exemple créer une nouvelle webview pour afficher le nouveau contenu, avec éventuellement un effet de transition entre les 2).
Tout ce décide au niveau d'un delegate de webview
webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:
qui fait partie du protocol WebPolicyDelegate.