11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous et toutes.

Merci tout d'abord pour ce site très intéresssant.

Je développe un site web de type portail d'application. Ce portail doit s'afficher sur un écran tactile (donc pas de clavier).
Pour information j'utilise le CMS joomla et le problème de référencement ne se pose pas dans mon cas. J'ai le choix possible du navigateur mais à priori ce serait plutôt Firefox. Je débute en javascript.

Donc mon site est constitué d'une zone en-tête du style banniere, d'une zone centrale et d'une zone bas de page qui contient un menu sous forme de boutons à clicker. Je dois constamment garder accès à mon menu en bas de page qui me permet de conserver l'accès à mon portail et de lancer les applications souhaitées.
Quand je génère moi-même la page nécessitant une zone de saisie, j'arrive à accrocher un clavier virtuel qui détecte la zone de saisie, par exemple par getElementsByTagName("textarea"). La difficulté est d'accrocher le clavier virtuel sur une page externe du style Google. En effet de mon portail je permets de "surfer" sur internet. Je dois donc afficher la page externe, par exemple Google, dans la zone principale de mon site. Pour faire cela j'utilise une iframe (je sais ce n'est pas top...)
Le chargement dans l'iframe fonctionne très bien mais le problème c'est que, les dernières version IE et Firefox, ont à priori mis des protections d'accès à leur contenu (Window.document). La détection de la zone de saisie textarea de google et l'écriture par le clavier virtuel dans cette zone de saisie ne fonctionne pas dans une iframe ....
Si la page de google était chargée dans un div cela marcherait-t'il sans probléme de protection ?
mais comment charger ma page externe dans une div (Ajax je ne connais pas, javascript ET PHP ?).Je cherche à faire un chargement de la page avec un target frame mais sans frame ni iframe...
Le clavier virtuel pourrait-il écrire à partir de la position courante du curseur donné par le focus sans détecter une zone de type input ou textrea ?

Il faut aussi que je puisse cacher/afficher le clavier virtuel juste en dessous de la zone d'affichage de google.
Peut-etre dans un span avec hide/visible, dans un div avec object ou encore dans une autre iframe.
Je peux monter le clavier dans une popup mais ce n'est pas terrible non plus ..
Par extension le clavier doit pouvoir marcher sur n'importe quelle zone de saisie d'une application "montée" dans ma zone centrale. Smiley eek

Il faudrait même que j'arrive à le faire fonctionner sur une zone de saisie générée par un .exe (En l'occurrence une appli téléphonique pour permettre à l'utilisateur de saisir le numéro de téléphone à partir du portail) mais là il faut pas rêver....

Smiley decu
Merci d'avance pour toutes vos informations, suggestions et pour votre aide.
Modifié par balport (09 Sep 2009 - 15:18)
euh...

Bonjour,...

ouhlà mal au crâne... là... Smiley smile

Je te conseille dans un premier temps de simplifier tes problèmes en petits problèmes, un par topic.

Sinon ça va être compliquer de te répondre et donc du coup peu de personnes vont te répondre...

Après avoir lu 2,3 fois ton message je ne comprends pas vraiment ton problème tellement il y en a...

Tout d'abord ton clavier virtuel il est gérer comment avec quel appli ? c'est pas lui normalement qui gère son propre focus ?
Bonjour à tous et toutes,
juste pour donner quelques informations.

Le clavier virtuel est géré en html et javascript dans mon appli web. Le focus et l'élément actif est géré par le site distant du domine externe comme google.fr ou autre.

Pour les protections d'accès au contenu des pages de domaine externe il faut avec le navigateur firefox passer signed.applets.codebase_principal_support à true, ajouter par le biais d'un fichier user.js les bonnes commandes comme user_pref("capability.policy.default.HTMLInputElement.value", "allAccess");
Ces commandes seront insérées dans le fichier prefs.js de firefox au prochain lancement de apache.

Il faut enfin, avant chaque accès au document externe en javascript, mettre les instructions adéquates demandant les privilèges d'accès
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
} catch (e) {
alert("Permission UniversalBrowserRead denied.");
}
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");
} catch (e) {
alert("Permission UniversalBrowserWrite denied.");
}
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("Permission UniversalXPConnect denied.");
}

Enfin on ne peut pas mettre d'événement onclick dans une balise iframe mais on peut dynamiquement ajouter des événements click sur des zones input situées dans le document chargé dans l'iframe.

Reste que finalement certains sites de domaine externe se protègent contre l'affichage dans une iframe en forçant un affichage en pleine page....

Bonne continuation et merci à masseuro pour sa réponse.
Hello balport et bienvenue sur le forum Smiley smile ,

en tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

upload/1-code.gif

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que l'Aide (dont le lien est fourni lors de l'inscription) contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
balport a écrit :
Bonjour à tous et toutes.

Merci tout d'abord pour ce site très intéresssant.

Je développe un site web de type portail d'application. Ce portail doit s'afficher sur un écran tactile (donc pas de clavier).
Pour information j'utilise le CMS joomla et le problème de référencement ne se pose pas dans mon cas. J'ai le choix possible du navigateur mais à priori ce serait plutôt Firefox. Je débute en javascript.

Donc mon site est constitué d'une zone en-tête du style banniere, d'une zone centrale et d'une zone bas de page qui contient un menu sous forme de boutons à clicker. Je dois constamment garder accès à mon menu en bas de page qui me permet de conserver l'accès à mon portail et de lancer les applications souhaitées.
Quand je génère moi-même la page nécessitant une zone de saisie, j'arrive à accrocher un clavier virtuel qui détecte la zone de saisie, par exemple par getElementsByTagName("textarea"). La difficulté est d'accrocher le clavier virtuel sur une page externe du style Google. En effet de mon portail je permets de "surfer" sur internet. Je dois donc afficher la page externe, par exemple Google, dans la zone principale de mon site. Pour faire cela j'utilise une iframe (je sais ce n'est pas top...)
Le chargement dans l'iframe fonctionne très bien mais le problème c'est que, les dernières version IE et Firefox, ont à priori mis des protections d'accès à leur contenu (Window.document). La détection de la zone de saisie textarea de google et l'écriture par le clavier virtuel dans cette zone de saisie ne fonctionne pas dans une iframe ....
Si la page de google était chargée dans un div cela marcherait-t'il sans probléme de protection ?
mais comment charger ma page externe dans une div (Ajax je ne connais pas, javascript ET PHP ?).Je cherche à faire un chargement de la page avec un target frame mais sans frame ni iframe...
Le clavier virtuel pourrait-il écrire à partir de la position courante du curseur donné par le focus sans détecter une zone de type input ou textrea ?

Il faut aussi que je puisse cacher/afficher le clavier virtuel juste en dessous de la zone d'affichage de google.
Peut-etre dans un span avec hide/visible, dans un div avec object ou encore dans une autre iframe.
Je peux monter le clavier dans une popup mais ce n'est pas terrible non plus ..
Par extension le clavier doit pouvoir marcher sur n'importe quelle zone de saisie d'une application "montée" dans ma zone centrale. Smiley eek

Il faudrait même que j'arrive à le faire fonctionner sur une zone de saisie générée par un .exe (En l'occurrence une appli téléphonique pour permettre à l'utilisateur de saisir le numéro de téléphone à partir du portail) mais là il faut pas rêver....

Smiley decu
Merci d'avance pour toutes vos informations, suggestions et pour votre aide.
balport a écrit :
Bonjour à tous et toutes.

Merci tout d'abord pour ce site très intéresssant.

Je développe un site web de type portail d'application. Ce portail doit s'afficher sur un écran tactile (donc pas de clavier).
Pour information j'utilise le CMS joomla et le problème de référencement ne se pose pas dans mon cas. J'ai le choix possible du navigateur mais à priori ce serait plutôt Firefox. Je débute en javascript.

Donc mon site est constitué d'une zone en-tête du style banniere, d'une zone centrale et d'une zone bas de page qui contient un menu sous forme de boutons à clicker. Je dois constamment garder accès à mon menu en bas de page qui me permet de conserver l'accès à mon portail et de lancer les applications souhaitées.
Quand je génère moi-même la page nécessitant une zone de saisie, j'arrive à accrocher un clavier virtuel qui détecte la zone de saisie, par exemple par getElementsByTagName("textarea"). La difficulté est d'accrocher le clavier virtuel sur une page externe du style Google. En effet de mon portail je permets de "surfer" sur internet. Je dois donc afficher la page externe, par exemple Google, dans la zone principale de mon site. Pour faire cela j'utilise une iframe (je sais ce n'est pas top...)
Le chargement dans l'iframe fonctionne très bien mais le problème c'est que, les dernières version IE et Firefox, ont à priori mis des protections d'accès à leur contenu (Window.document). La détection de la zone de saisie textarea de google et l'écriture par le clavier virtuel dans cette zone de saisie ne fonctionne pas dans une iframe ....
Si la page de google était chargée dans un div cela marcherait-t'il sans probléme de protection ?
mais comment charger ma page externe dans une div (Ajax je ne connais pas, javascript ET PHP ?).Je cherche à faire un chargement de la page avec un target frame mais sans frame ni iframe...
Le clavier virtuel pourrait-il écrire à partir de la position courante du curseur donné par le focus sans détecter une zone de type input ou textrea ?

Il faut aussi que je puisse cacher/afficher le clavier virtuel juste en dessous de la zone d'affichage de google.
Peut-etre dans un span avec hide/visible, dans un div avec object ou encore dans une autre iframe.
Je peux monter le clavier dans une popup mais ce n'est pas terrible non plus ..
Par extension le clavier doit pouvoir marcher sur n'importe quelle zone de saisie d'une application "montée" dans ma zone centrale. Smiley eek

Il faudrait même que j'arrive à le faire fonctionner sur une zone de saisie générée par un .exe (En l'occurrence une appli téléphonique pour permettre à l'utilisateur de saisir le numéro de téléphone à partir du portail) mais là il faut pas rêver....

Smiley decu
Merci d'avance pour toutes vos informations, suggestions et pour votre aide.
Bonjour Heyoan,

Merci pour ton message et désolée de ne pas avoir bien suivi les règles du forum.

Dans mon précédent message j'ai juste souhaité indiquer que l'on pouvait accèder par javascript au document d'une page de domaine externe affichée dans une iframe avec firefox et des privilèges adéquats. On peut également gérer dynamiquement des événements onClick sur des zones input se trouvant dans le document du domaine externe affiché dans l'iframe.

J'ai passé le sujet en résolu.
je pense que le sujet est trop global et n'aborde pas un point suffisamment précis pour le forum. Il peut être supprimé.

Bonne continuation.