2016-08-10 8 views
0

Ich habe eine Website, die Menschen hilft, Beschriftungen für ihre Instagram Beiträge erstellen und Hashtags bewerten. Eines der Merkmale ist so einfach wie die Links der Hashtags zu Instagram zu machen, um zu sehen, welche Arten von Bildern sie enthalten. Da ich nicht möchte, dass die Eingaben, die sie gerade eingegeben und ausgewertet haben, verschwinden, habe ich die Links in neuen Tabs geöffnet, indem ich target = "_ blank" benutze - das funktioniert perfekt auf Desktops, aber auf iPhones geschieht nichts, wenn Sie versuchen, auf das zu klicken Hashtag-Links. Ich vermute, dass es eine Art Schutz sein könnte, indem ich target = "_ blank" -Links deaktiviere, aber ich bin mir nicht sicher. Alles ist nur einfache HTML-Links. Ich habe versucht, rel = "noreferrer" hinzuzufügen, aber das machte keinen Unterschied.Öffnen von Links in neue Registerkarte auf Safari iPhone

Also, wenn Sie eine Erklärung haben, warum es nicht funktioniert, das wäre hilfreich, aber noch hilfreicher wäre eine Lösung, wie ich bekommen kann, was ich auch auf mobilen Geräten will, die einfach gesagt: offen ein Link in einem neuen Tab, damit ich den Input/Status der Seite, die ich gerade dem Benutzer präsentiert habe, nicht verliere.

Alternative Lösungen zu dem oben genannten Problem werden ebenfalls sehr geschätzt.

Antwort

0

Versuchen dieser Code js:

function openTab(url) { 
    // Create link in memory 
    var a = window.document.createElement("a"); 
    a.target = '_blank'; 
    a.href = url; 

    // Dispatch fake click 
    var e = window.document.createEvent("MouseEvents"); 
    e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
    a.dispatchEvent(e); 
}; 

openTab('http://www.google.com'); 

Sie die Original-Beitrag finden Sie hier: http://whoknew.dk/programmatically-opening-a-new-tab-window-on-mobile-safari-55.htm

+0

Interessante ich werde es geben ein Versuchen. Aber seltsamerweise sagt Links, dass du einfach target_blank verwenden kannst, was bei mir nicht funktioniert. Es ist jedoch ein alter Artikel, also könnte sich das geändert haben. – Jesper

0

als dispatchEvent veraltet ist, könnten Sie verwenden:

function openTab(url) { 
    // Create link in memory 
    var a = window.document.createElement("a"); 
    a.target = '_blank'; 
    a.href = url; 

    //click 
    a.click(); 
}; 
Verwandte Themen