Links

Sunday, November 26, 2006

Ajax au Search Engine.

Vous pouvez trouver un grand exemple Ajax à ce Search Engine de Qooqle Video Web 2.0 pour le service YouTube. Voici l'exemple des résultats de la recherche "South Park" :




Rechercher « South Park » à la page Web Qooqle Video

Saturday, November 25, 2006

appui du bouton Back.

Daniel Kantor a mis en application une solution du bouton Back dans Streampad et l'a partagée avec nous.

Une des rognes principales contre des webapps d'AJAX est comment ils cassent le bouton back dans un navigateur typique. Il y a eu quelques solutions (notamment histoire vraiment simple de Brad Neuberg) mais aucun ne l'a fonctionnant dans Safari. GMail n'a toujours pas un bouton de dos de fonctionnement dans Safari.
Ils disent est la troisième fois le charme et j'ai essayé d'obtenir une chose du bouton Back dans Streampad deux fois avant. Je ne veux pas employer quelqu'un d'autre bibliothèque car ils sont habituellement plus complexes que j'ai besoin et je n'ai pas voulu mettre quelque chose en place jusqu'à ce que j'aie eu le fonctionnement Safari. J'ai essayé quelques différentes techniques, mais quand je l'ai obtenu fonctionnant dans Safari, il enfoncerait Firefox ou IE.
Je finalement ai figuré dehors une manière d'obtenir ce fonctionnement dans Firefox, IE et Safari. Je ne l'ai pas examiné dans Opera. Voici ce que je. Comme d'habitude, votre kilomètrage changera très probablement.

  1. créer un iFrame avec width=’1′, height=’1′, name=’hFrame’, id=’hFrame’ et frameBorder=’0′. Il est important de le maintenir évident à la page ou cela ne fonctionnera pas dans Safari. Puisque c'est 1×1 juste, essayer de le cacher dans un coin ou quelque chose.
  2. Créer cette fonction -
    function historyManager(f,t){
    frames[’hFrame’].location.href=”http://www.streampad.com/historyManFrame.php?f=” +f+”&t=”+t;
    }
    (évidemment produit de remplacement dans votre domaine pour example.com)
  3. Créer cette fonction -
    function historyFunc(f){
    f = f+”()”;
    eval(f);
    }
  4. Crée une page de php (ou quelque langue) qui accepte deux vars GET - “f” et “t”
  5. Nommer cette page “historyManFrame”.
  6. Dans “historyManFrame” mis ceci -
    $f = $_GET[’f'];
    $t = $_GET[’t'];
  7. Dans Head l'étiquette a mis à l'intérieur d'une étiquette Script -
    function hello(){
    document.title = “Streampad - < ? echo $t; ?>“;
    parent.historyFunc(”< ? echo $f; ?>“);
    }
  8. Et dans le corps l'étiquette a mis -
    onload=hello()

Maintenant ce qui va se produire est ceci :

  1. Appeler la fonction historyManager et lui passer deux variables String. f est la fonction que vous voudriez finalement appeler. t est le titre que vous voudriez faire révéler dans l'histoire du bouton Back.
  2. historyManager va charger la page (historyManFrame) dans la trame I et lui passer f et t en tant que variables GET.
  3. historyManFrame va maintenant charger et faire deux choses. D'abord, il placera son propre titre à la variété T. Alors il appellera sa fonction historyFunc de parent et passera dans f.
  4. la volonté historyFunc prennent alors la fonction f (comme corde) et eval il (qui appellera la fonction finale).

Est exactement ce ce qui je fais Streampad intérieur, et cela fonctionne tout à fait bien. Quelques avertissements :

  1. Firefox ne montrera pas le titre de la trame I dans l'histoire du bouton Back. Si vous voudriez, vous pouvez placer le titre principal de page et cela fera le tour. La raison que je ne fais pas ceci dans Streampad est b/c le titre est toujours la chanson courante et je ne veux pas changer cela.
  2. Je ne passe pas des vars à la fonction finale, ainsi je ne l'ai pas placée fais jusqu'à ceci. Il serait vraiment facile de faire n'importe quoi de pareil - passage juste dans f comme “func(’foo’)”. Puis eval(f) juste dans historyFunc au lieu d'ajouter ‘()’ à lui avant l'évaluation.

Ajax

 Ajax, sténographie pour Asynchronous JavaScript et XML, est une technique de développement de Web pour créer des applications interactives de Web. L'intention est de faire des pages Web se sentir plus sensibles en échangeant un peu de données avec le serveur dans les coulisses, de sorte que la page Web entière ne doive pas être rechargée chaque fois les marques d'utilisateur un changement. Ceci est censé pour augmenter l'interactivité, la vitesse, et la rentabilité de la page Web.

La technique Ajax emploie une combinaison de :

  • XHTML (ou HTML) et CSS, pour marquer vers le haut et dénommer l'information.
  • Le DOM a accédé avec une langue scripting de client-côté, particulièrement les réalisations ECMAScript telles que JavaScript et le JScript, dynamiquement à l'affichage et agit l'un sur l'autre avec l'information présentée.
  • L'objet de XMLHttpRequest est employé pour échanger des données asynchronously avec le web server. Dans quelques cadres d'Ajax et dans certaines situations, un objet IFrame est employé au lieu de l'objet de XMLHttpRequest pour échanger des données avec le web server, et dans d'autres réalisations, les étiquettes < script > dynamiquement supplémentaires peuvent être employées.
  • XML est parfois employé comme format pour des données de transfert entre le serveur et le client, bien que n'importe quel format fonctionne, y compris le HTML préformaté, le texte plat, le JSON et même l'EBML. Ces dossiers peuvent être créés dynamiquement par une certaine forme de serveur-côté scripting.


Comme DHTML, LAMP et SPA, Ajax n'est pas une technologie en soi, mais une limite qui se rapporte à l'utilisation d'un groupe de technologies.

La première utilisation de la limite l'en public était par Jesse James Garrett en février 2005. Garrett a pensé à la limite tandis que dans la douche, quand il a réalisé le besoin d'une limite de sténographie de représenter la suite des technologies qu'il proposait à un client.

Bien que la limite "Ajax" ait été inventée en 2005, la plupart des histoires des technologies qui permettent le début Ajax par décennie plus tôt avec des 'initiatives de s Microsoft en développant Remote Scripting. Les techniques pour le chargement asynchrone du contenu sur une page Web existante sans exiger une pleine recharge remontent jusque le type d'élément de TRAME I (présenté dans Internet Explorer 3 de 1996) et le type de l'élément LAYER (présenté dans Netscape 4 de 1997, abandonné pendant le développement précoce de Mozilla). Les deux types d'élément ont eu un attribut de src qui pourrait prendre n'importe quel URL externe, et en chargeant une page contenant JavaScrip t qui a manoeuvré la page de parent, Ajax - des effets pareils pourraient être atteints. Cet ensemble de technologies de client-côté a été habituellement groupé ensemble en vertu de la condition générique de DHTML. Le Flash de Macromedia pourrait également, de la version 4, la charge XML et les dossiers de CSV d'un serveur à distance sans exiger un navigateur régénèrent.

Le Remote Scripting de Microsoft (ou les MSRS, présentés en 1998) a agi en tant que remplacement plus élégant pour ces techniques, avec des données tiré dedans par un applet Java avec lequel le côté de client pourrait communiquer en utilisant JavaScript. Cette technique a travaillé Internet Explorer à la version 4 et au Netscape Navigator version 4 en avant. Microsoft a alors créé l'objet de XMLHttpRequest dans Internet Explorer la version 5 et le premier a tiré profit de ces techniques en utilisant XMLHttpRequest dans Outlook Web Access fourni avec le dégagement Microsoft Exchange Server 2000.

La communauté du développement Web, d'abord collaborant par l'intermédiaire du newsgroup microsoft.public.scripting.remote et plus tard par l'agrégation de blog, a plus tard développé une gamme des techniques pour l'extérieur scripting afin de permettre à résultats conformés à travers différents navigateurs. En 2002, une modification de l'utilisateur-communauté à Microsoft Remote Scripting a été faite pour remplacer l'applet Java avec XMLHttpRequest.

Remote Scripting Frameworks tel qu'ARSCIF [5] a apprêté en 2003 pas longtemps avant que Microsoft a présenté Callbacks dans ASP.NET.

Puisque XMLHttpRequest est maintenant mis en application à travers la majorité de navigateurs en service, des techniques alternatives sont employées rarement. Cependant, elles sont encore employées où la compatibilité avec des emplacements Web plus anciens ou des applications de legs est exigée.

En outre, le World Wide Web Consortium a plusieurs recommandations qui tiennent compte également de la communication dynamique entre un serveur et un agent d'utilisateur, bien que peu de eux soient bien soutenus. Ceux-ci incluraient :

  • L'élément d'objet défini dans HTML 4 pour inclure les types contents arbitraires dans des documents, (remplace les armatures intégrées sous XHTML 1.1)
  • La charge du niveau 3 du modèle d'objet de document (DOM) et économiser des spécifications





Friday, November 24, 2006