Usurper l’URL dans un navigateur Web

Disons que je reçois le code source d’une page (par exemple, http://example.com ). Je veux maintenant écrire ce code source sur un navigateur Web, en utilisant quelque chose comme:

myWebBrowser.Navigate("about:blank"); myWebBrowser.Document.Write(sourceCode); 

Supposons maintenant que sur la page d’accueil de Example.com, il existe une URL relative telle que:

  

Le about:blankhttps://stackoverflow.com/logo.gif tentera de le charger depuis about:blankhttps://stackoverflow.com/logo.gif . Je veux dire au WebBrowser que “l’adresse actuelle” est http://example.com afin qu’il utilise http://example.comhttps://stackoverflow.com/logo.gif place.

Écrire directement dans la propriété URL du navigateur Web provoquera un Navigate (), qui éliminera tout texte écrit.

Je recherche une solution qui fonctionne également pour d’autres éléments tels que les feuilles de style, javascript (par exemple, ), des liens, etc., et pas uniquement des images.

Est-ce possible?

Vous pouvez essayer d’insérer un élément dans la tête: http://www.w3.org/TR/html4/struct/links.html#edef-BASE

Comment insérer la balise dépend de la langue que vous utilisez, mais vous devriez viser à obtenir la balise de base directement après le afin que la source résultante se lit comme suit:

  

Bien sûr, s’il y a déjà un élément dans le document, vous devriez le supprimer.

Si vous essayez de changer l’URL de la barre d’adresse, le navigateur y naviguera, et vous ne pourrez rien y faire.

Mais, dans votre code HTML, il est possible de “simuler” l’URL source de vos ressources, en utilisant la .

Je pense que c’est plus proche que vous pouvez aller.

Vous pouvez injecter un élément dans votre code et indiquer que la base est http://example.com.