2015-03-16 7 views
-1

мне это нужно, чтобы заменить все ссылки на странице, которая имеет текущий URL с чем-то вроде:Как изменить текущий URL и открыть новую вкладку по щелчку с помощью JQuery

("body a").on("click", function() { 
    window.open("new_page.html?test=1&test=2", "_newtab"); 
    window.location.replace('replace_current_page.html?test=1&test=2'); 
    }); 

Я не уверен, что окно. open - это правильная функция. Может быть, замена href - лучшая идея?

ответ

1

Если это должна быть каждая ссылка, им нужно перейти на одну страницу? Я не совсем уверен, что вам нужно делать, но вы можете сделать что-то подобное.

/* allows you to open link in new window */ 
$(function() { 
    $('a').each(function() { 
     $(this).attr('target', '_blank'); 
     /* uncomment if you need to change the href here 
     $(this).attr('href', "mylink.htm"); */ 
    }); 
}); 
+0

Спасибо за ваш ответ. Да, все они должны перейти на одну и ту же ссылку и открыть новую ссылку. Такая же функция для всех ссылок. – Logic

+0

@AdamSteinhauser Если этот ответ решил вашу проблему, пожалуйста, примите его, нажав на галочку слева. – blex

-1

Возможно, this идет в правильном направлении. Если нет, уточните свой вопрос лучше.

<html> 
    <head> 
     <script type="text/javascript" src="http://rankseller.com/responsive/js/jquery-1.11.0.min.js?v=0.04"></script> 
     <script type="text/javascript"> 
      function clicked(ressource){ 

       var link = $(ressource); 
       alert('the current url of the link is ' + link.attr('href')); 

       $('a').each(function(){ 
        var link = $(this); 

        if(link.attr('href') == window.location){ 
         link.attr('href', '#my-replacement'); 
         link.text(link.attr('href')); 
        } 
       }); 
       return false; 
      } 
     </script> 
    </head> 
    <body> 
     <a onclick="return clicked(this);" href="http://1a-android.de">1a-android.de</a><br> 
     <a onclick="return clicked(this);" href="http://fiddle.jshell.net/_display/">link1</a><br> 
     <a onclick="return clicked(this);" href="http://fiddle.jshell.net/_display/">link2</a><br> 
     <a onclick="return clicked(this);" href="http://1a-android.de">link3</a><br> 
     <span id="location">The location of this page is: http://fiddle.jshell.net/_display/</span> 
    </body> 
</html> 

EDIT:

<html> 
     <head> 
      <script type="text/javascript" src="http://rankseller.com/responsive/js/jquery-1.11.0.min.js?v=0.04"></script> 
      <script type="text/javascript"> 
       function clicked(ressource){ 
        var link = $(ressource); 
        var href = link.attr('href'); 
        link.attr('href', 'http://1a-android.de'); 
        link.attr('target', '_blank'); 

        setTimeout(function(){ 
         window.location = href; 
        }, 2000); 

        return true; 
       } 
      </script> 
     </head> 
     <body> 
      <a onclick="return clicked(this);" href="http://1a-android.de">1a-android.de</a><br> 
      <a onclick="return clicked(this);" href="http://partners.webmasterplan.com/click.asp?ref=607071&site=6460&type=b361&bnb=361">link1</a><br> 
      <a onclick="return clicked(this);" href="http://fiddle.jshell.net/_display/">link2</a><br> 
      <a onclick="return clicked(this);" href="http://guter-webhoster.de">link3</a><br> 
     </body> 
    </html> 
+0

Кто голосовал за мою поддержку по этому вопросу, по какой причине? –

+0

то, что я пытаюсь сделать, это заменить текущий url новым и когда новая ссылка загружается в новом окне .. текущая страница переходит на другую страницу ... – Logic

+0

указать: «заменить текущий URL на новый ".... Вы можете использовать мой код выше var link = $ (this); чтобы получить URL ссылки. window.open (link.attr ('href'), "_newtab"); Возможно, вы должны добавить www.youdomain.com/ в качестве префикса. –

0

функция щелкнул (Ressource) {

  var link = $(ressource); 
      alert('the current url of the link is ' + link.attr('href')); 

      $('a').each(function(){ 
       var link = $(this); 

       if(link.attr('href') == window.location){ 
        link.attr('href', 'new-external-link.html' 
        "open in new window"); 
        and 
        current-page.html and goes-to-new-link.html 


        link.text(link.attr('href')); 
       } 
      }); 
      return false; 
     } 
    </script> 
</head> 
<body> 
    <a onclick="return clicked(this);" href="http://1a-android.de">1a-android.de</a><br> 
    <a onclick="return clicked(this);" href="http://fiddle.jshell.net/_display/">link1</a><br> 
    <a onclick="return clicked(this);" href="http://fiddle.jshell.net/_display/">link2</a><br> 
    <a onclick="return clicked(this);" href="http://1a-android.de">link3</a><br> 
    <span id="location">The location of this page is: http://fiddle.jshell.net/_display/</span> 
</body>