2013-07-28 7 views
6

में निम्नलिखितबटन दबाकर नए टैब में लिंक कैसे खोलें? जेड

button(type="button", target="_blank", onclick="location.href='auth/google';") 

काम नहीं करता। यह एक ही विंडो में लिंक खुलता है। संदर्भ के लिए, node.js प्रोग्राम का उसका हिस्सा, जिसमें मैं Google प्रमाणीकरण के लिए पासपोर्टजे का उपयोग कर रहा हूं।

+0

क्यों आप एक लंगर टैग नहीं बनाते हैं? – Blender

उत्तर

18

बटन वास्तव में एक लिंक नहीं खोल रहा है - यह केवल कुछ जावास्क्रिप्ट कोड चला रहा है, इस उदाहरण में, एक नए यूआरएल पर नेविगेट किया जा रहा है। तो बटन पर target="_blank" विशेषता मदद नहीं करेगा।

इसके बजाए, आपको वर्तमान विंडो के यूआरएल को बदलने के लिए जावास्क्रिप्ट का उपयोग करने के बजाए एक नया टैब/विंडो खोलने के लिए जावास्क्रिप्ट कमांड का उपयोग करने की आवश्यकता है। location.href पर असाइन करने से केवल वर्तमान विंडो का यूआरएल बदल जाएगा।

window.open(url, target) फ़ंक्शन के बजाय फ़ंक्शन का उपयोग करें - इसमें एक यूआरएल और एक लक्षित विंडो नाम होता है, जो एक लिंक पर target="whatever" विशेषता के समान व्यवहार करता है।

window.open('auth/google', '_blank'); 

आपका पूरा कोड इस तरह दिखेगा:

button(type="button", onclick="window.open('auth/google', '_blank');") 
+1

आपने मुझे दोस्त बचाया :) (y) – NullPointer

संबंधित मुद्दे