2010-04-22 5 views
1

Voici la marche à suivre: J'ai une application qui effectue un traitement, écrit des fichiers de résultats, puis affiche les résultats dans un contrôle de navigateur IE intégré. Ceci est fait en naviguant le contrôle du navigateur vers un fichier HTML local avec une chaîne de requête contenant les fichiers de résultats générés pour tout afficher. La cible de lien ressemblerait à quelque chose comme:Ouvrir la page en cours dans une nouvelle fenêtre, y compris la chaîne de requête

c:\SomeFolder\results.htm?results=file%201.xml;file%202.xml;file%203.xml 

Jusqu'ici, tout va bien. Cependant, dans la page HTML est un href qui est censé ouvrir le même exactement dans une fenêtre normale du navigateur.

Ce que je pensais travailler est:

<a href="#" target="_blank">Show in browser</a> 

Comme il est un lien dans une page HTML affiché dans un contrôle IE, le lien va ouvrir dans IE, peu importe ce que le navigateur par défaut est peut-être. Cela fonctionne pour IE7 et 8, mais pas pour IE6. Avec IE6, la chaîne de requête est coupée et le navigateur ouvre file://c:/results/results.htm# sans la chaîne de requête.

Je suis sûr qu'il doit y avoir une bien meilleure façon de le faire sans le # et qui fonctionnerait dans tous les IE.

Comment les pros pourraient résoudre ceci?

Répondre

1

Cela devrait fonctionner:

<a href="javascript://;" onclick="this.href=document.location" target="_blank">Show in browser</a> 
0

Je voudrais;

<a href="yourpage.html" target="_blank" onclick="return !window.open(location.href, this.target);">Show in browser</a> 

(Le « yourpage.html » dans l'ancre est de satisfaire le fait qu'une ancre devrait avoir un href, il ne serait chargé si le window.open() a échoué)

Questions connexes