2010-08-18 25 views
1

Je suis en train de faire mon html gadget pour naviguer vers une autre page, mais lorsque je tente de le faire viaEst-ce que Windows Vista + Sidebar Gadgets peut afficher des pages Web?

window.location = 'http://newurl.com' 

Il ouvre l'adresse dans un navigateur par défaut nouvelle fenêtre. Tout ce que je pouvais faire jusqu'à maintenant est de iframe la page dans le gadget html (dans le flyout html cela ne fonctionnait pas), mais le site que j'essaye de tracer a un détecteur de trame et ne le permet pas .

Répondre

1

Vous ne pouvez pas modifier l'emplacement d'un fichier de gadget dans un emplacement distant. Il y a des façons de le faire fonctionner mais je ne me souviens pas de ce qu'ils sont en ce moment (ou s'ils ont été corrigés dans Win 7). Il existe également un risque de sécurité: les gadgets s'exécutent avec des privilèges supérieurs à ceux des pages Web, ce qui leur permet d'accéder au Presse-papiers et aux requêtes Web interdomaines et d'exécuter des contrôles ActiveX non signés sans danger pour les scripts.

Si vous souhaitez utiliser COM, vous pouvez utiliser le WebBrowser control fourni avec Windows, avec certaines limitations. Vous ne pourrez communiquer avec le domaine d'origine que le contrôle est chargé, si l'utilisateur s'éloigne de ce domaine, l'accès sera bloqué par le same origin policy.

<OBJECT ID="WebBrowser1" WIDTH=332 HEIGHT=276 
    CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"> 
    <PARAM NAME="ExtentX" VALUE="8784"> 
    <PARAM NAME="ExtentY" VALUE="7303"> 
    <PARAM NAME="ViewMode" VALUE="1"> 
    <PARAM NAME="Offline" VALUE="0"> 
    <PARAM NAME="Silent" VALUE="0"> 
    <PARAM NAME="RegisterAsBrowser" VALUE="0"> 
    <PARAM NAME="RegisterAsDropTarget" VALUE="0"> 
    <PARAM NAME="AutoArrange" VALUE="1"> 
    <PARAM NAME="NoClientEdge" VALUE="1"> 
    <PARAM NAME="AlignLeft" VALUE="0"> 
</OBJECT> 

Si vous ne pouvez pas vivre avec ces limites, votre seule option est de créer votre propre contrôle ActiveX qui référence le contrôle WebBrowser et les commandes proxy.

Voir aussi http://support.microsoft.com/kb/176789.