2008-11-06 17 views
54

क्या इस कोड को संशोधित करने का कोई आसान तरीका है ताकि लक्षित यूआरएल समान विंडो में खुल जाए?जावास्क्रिप्ट: एक ही विंडो में नया पृष्ठ खोलें

<a href="javascript:q=(document.location.href);void(open('http://example.com/submit.php?url='+escape(q),'','resizable,location,menubar,toolbar,scrollbars,status'));">click here</a>`` 

उत्तर

69

window.open() एक स्ट्रिंग लक्ष्य विंडो के नाम का प्रतिनिधित्व करता है की दूसरा पैरामीटर।

इसे "_self" पर सेट करें।

<a href="javascript:q=(document.location.href);void(open('http://example.com/submit.php?url='+escape(q),'_self','resizable,location,menubar,toolbar,scrollbars,status'));">click here</a> 


Sidenote: निम्नलिखित प्रश्न एक यकीनन बेहतर तरीका HTML लिंक करने के लिए ईवेंट हैंडलर्स बाध्य करने का एक सिंहावलोकन देता।

What's the best way to replace links with js functions?

7
<a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>; 
1

मैं काफ़ी होगा कि एक अलग तरह से करता है, तो मैं तुम्हें थे। पृष्ठ लोड होने पर टेक्स्ट लिंक बदलें, क्लिक पर नहीं। मैं jQuery में उदाहरण दे देंगे, लेकिन यह आसानी से वेनिला जावास्क्रिप्ट (हालांकि, jQuery अच्छे है)

$(function() { 
    $('a[href$="url="]') // all links whose href ends in "url=" 
     .each(function(i, el) { 
      this.href += escape(document.location.href); 
     }) 
    ; 
}); 

में किया जा सकता है और इस तरह अपने HTML लिखें:

<a href="http://example.com/submit.php?url=">...</a> 

इस के लाभ क्या वे लोग देख सकते हैं कि वे क्या क्लिक कर रहे हैं (href पहले से सेट है), और यह आपके HTML से जावास्क्रिप्ट को हटा देता है।

यह सब कहा, ऐसा लगता है कि आप PHP का उपयोग कर रहे हैं ... इसे सर्वर-साइड में क्यों नहीं जोड़ते?

1

तो href के अंत में यूआरएल जोड़कर, प्रत्येक लिंक एक ही विंडो में खुल जाएगा? आप एक ही काम करने के लिए एचटीएमएल के भीतर शायद _BLANK का उपयोग भी कर सकते हैं।

3

यानी 7 और यानी 8

$(this).click(function (j) { 
      var href = ($(this).attr('href')); 
      window.location = href; 
      return true; 
70
<script type="text/javascript"> 
window.open ('YourNewPage.htm','_self',false) 
</script> 

में यह यह मेरे लिए काम किया कोशिश को देखने के संदर्भ: http://www.w3schools.com/jsref/met_win_open.asp

+0

यह वास्तव में है मेरा दिन बचाओ ... :) –

+0

'झूठा' का मतलब यह है कि आप वापस जाने के लिए बैक बटन का उपयोग कर सकते हैं ओ पेज जिसने खिड़की बनाई, है ना? यह मेरे लिए काम नहीं कर रहा है। – Noumenon

2

यहाँ क्या मेरे लिए काम किया है:

<button name="redirect" onClick="redirect()">button name</button> 
<script type="text/javascript"> 
function redirect(){ 
var url = "http://www.google.com"; 
window.open(url, '_top'); 
} 
</script> 
संबंधित मुद्दे