2010-05-06 4 views
3

EDIT: Regardez l'approche de Jorn.
J'utilise la stratégie suggérée ici: http://cc.embarcadero.com/Item/23992 pour obtenir mon HTML dans le TWebBrowser, mais je reçois un tas d'erreurs JavaScript lorsque la page se charge. Si je clique sur oui assez souvent, je peux voir une page sans formatage et je suppose que la page ne fait rien. Ma théorie est que parce que les liens dans le HTML sont relatifs, le navigateur ne peut en charger aucun. Je passe de passer l'URL, 'about: blank' à la fonction de navigation, à passer la page d'accueil des serveurs - dans l'espoir que certains mécanismes internes seront en mesure de générer des chemins complets, mais pas de chance.Ecriture manuelle du code HTML dans TWebBrowser

Toute personne a réussi à écrire manuellement du HTML dans le TWebBrowser.

Répondre

7

Étant donné que le code HTML ne provient pas d'une URL en direct, vous devez inclure une balise <base href=...> dans le code HTML lui-même afin que les liens relatifs puissent être résolus correctement.

+0

C'est probablement exactement ce que je avais besoin, mais je suis allé chercher c'est fait d'une autre manière. Donc, sans vérifier, je vais marquer cela comme la réponse. – LostNomad311

9

Je l'habitude d'utiliser cette approche:

//OnFormCreate: 
begin 
    WebBrowser.Navigate('about:blank'); 
end; 

//OnButtonClick: 
var 
    Doc: Variant; 
begin 
    Doc := WebBrowser.Document; 
    Doc.Clear; 
    Doc.Write(Memo.Text); 
    Doc.Close; 
end; 

Il y a aussi quelques bons exemples à delphi.about.com
et quelques exemples plus complexes à www.delphidabbler.com

+0

Yup, c'est ce que j'ai fini avec, mais vous finirez probablement par voir le même type de problèmes que j'ai fait de cette façon. +1 b/c c'est 'mieux' que la méthode décrite dans cet article. – LostNomad311