J'ai un code qui génère du SVG développé pour IE et Adobe SVG Viewer. Adobe SVG Viewer dispose d'une fonction personnalisée appelée browserEval
(voir http://www.xml.com/lpt/a/994) utilisée pour que le navigateur évalue un appel window.open(). Cela ne fonctionne pas dans le moteur de rendu SVG natif de Chrome (et je n'ai pas essayé Firefox).Comment créer une fenêtre contextuelle multiplateforme (IE et Chrome au moins) à l'intérieur d'un fichier SVG?
Comment puis-je réécrire cette fonction contextuelle pour qu'elle fonctionne correctement dans tous les navigateurs supportant SVG? Cet original fonctionne dans IE, mais pas Chrome:
function popUp(loc) {
browserEval("window.open('"+loc+"','_blank',
'width=1000,height=780,scrollbars=yes,resizable=yes,
status=no,toolbar=no,menubar=no,location=no')");
}
J'ai essayé ce qui fonctionne dans Chrome, mais provoque une erreur sur le nombre d'arguments dans IE:
var browserEvalCrossBrowser = (typeof(browserEval)=='undefined') ?
function(x) { eval(x); } : browserEval;
function popUp(loc) {
browserEvalCrossBrowser("window.open('"+loc+"','_blank',
'width=1000,height=780,scrollbars=yes,resizable=yes,
status=no,toolbar=no,menubar=no,location=no')");
}
Autre chose qui ressemble à une erreur: Votre chaîne entre guillemets est multiligne, ce qui n'est pas autorisé. – some