2010-10-05 9 views
7

Problemawindow.open fallisce con URL relativi in ​​IE (Quando si utilizza il tag base)

sto usando il tag di base per risolvere gli URL relativi ad un punto specifico in alcune pagine html generate dinamicamente.

Questo funziona perfettamente finché non provo a utilizzare Window.open in javascript. Firefox risolve ogni problema, ma IE risolve l'URL dell'URL visualizzato.

Esiste un IE per aggirare questo problema?

vorrei evitare

Combinando l'URL con l'href nel tag base tramite JavaScript/jQuery. (A meno che non sia a prova di proiettile. Riconoscendo la differenza tra url non relativi e relativi, gestendo l'esistenza di '/' o nessuno '/' quando si combinano, ecc ...).

Anche se si dispone di una tale soluzione. Un preferito in uno sarebbe preferibile (una questione di formattazione dei miei URL relativi per rendere IE felice ?, o qualsiasi altra cosa).

Esempio

<html> 
    <head> 
    <base href="http://stackoverflow.com" /> 
    <script type="text/javascript"> 
    showWindowPopupFullScreen = function(URL) { 
     var pageWidth = screen.availWidth; 
     var pageHeight = screen.availHeight; 
     var popup = window.open(URL, 'Window', 'height=' + pageHeight + ',width=' + pageWidth + ',top=0,left=0,resizable'); 
     if (window.focus) { 
      popup.focus(); 
     } 
    } 
    </script> 
    </head> 
    <body> 
    <a href="javascript:showWindowPopupFullScreen('users/402706/brandon-boone')">test</a> 
    </body> 
</html> 

risposta

6

Non ho idea se questo lavoro - potrebbe o non potrebbe, a seconda del funzionamento interno di IE - ma si potrebbe provare se questo si traduce correttamente:

<a href="users/402706/brandon-boone" 
    onclick="showWindowPopupFullScreen(this.href)">test</a> 
+0

Fantastic , Funziona. Grazie! –

+2

Nota che devi usare 'this.href', non funzionerà con' this.getAttribute ('href') '. – Roben

+0

Ho avuto un problema simile, funziona bene anche in jQuery. Ho lanciato popup dal gestore '$ (element) .on ('click')'. In precedenza ho provato '$ (this) .attr ('href')' e ho avuto problemi simili a quelli di Brandon (anche se ho impostato ). Ora funziona bene con 'this.href'. Grazie a Pekka e Roben! – alekwisnia

Problemi correlati