2016-07-22 16 views
0

Ich habe 2 Links in der Menüleiste, eine mit Javascript hat rechten Maustaste Menü Problem auf IE, in neuen Registerkarte geöffnet wurde in der zweiten deaktiviert, bitte sehen Wie unten beschrieben, können alle Einstellungen im IE dies beheben?In neuen Tab öffnen auf Rechtsklick-Menü war in IE deaktiviert, während Link Javascript hat

  1. Arbeit

    <a href="/site/home">home</a>

  2. nicht, offen in neuem Tab Arbeit ist

    deaktiviert

    <a href="javascript:goto(this,'/site/home');">home</a>

+0

Ich glaube, Sie müssten Ihre JS ändern, um die 'href' Attribut des Links stattdessen zu ändern und dann wird es funktionieren. z.B. '$ ('# home-link'). prop ('href', '/ site/home')' oder wie auch immer Sie die Links ausrichten möchten. Der Browser erlaubt möglicherweise nicht das Öffnen von 'javascript:' Protokoll-Links in neuen Tabs. – kamranicus

Antwort

0

in IE11 getestet. Ändern Sie stattdessen Ihr Skript, um die href des Anchor-Tags zu ändern, und der Browser sieht einen gültigen Link, den er öffnen kann, anstelle eines javascript:-Protokolllinks (der in Chrome/Edge sowieso funktioniert).

In diesem Beispiel wird nur eine saubere Methode zum Routen von Routenzielen und zum Einfügen einer href-Verknüpfung angezeigt. Sie können es tun, wie Sie es bevorzugen.

// vanilla JS 
 
document.getElementById('home-link').href = "https://google.com"; 
 

 
// jQuery data attribute routes example 
 
var routes = { 
 
    "home": "https://google.com" 
 
} 
 

 
$("a[data-route]").each(function() { 
 
    var $a = $(this), 
 
     route = $a.data("route"); 
 
    
 
    $a.prop('href', routes[route]); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li><a href="http://google.com">Normal Link</a></li> 
 
    <li><a id="home-link">Vanilla JS Link</a></li> 
 
    <li><a data-route="home">jQuery Link</a></li> 
 
</ul>

+1

danke @subkamran. Ich weiß, warum ich a-href mit Javascript verwendete, ich migrierte Code von ' Übersicht ', aber es ist für td, und es hatte keine offenen Tab * Optionen dafür. Also habe ich Javascript aus meinem Code entfernt. –

Verwandte Themen