Подтвердить что ты не робот

Javascript: открыть новую страницу в том же окне

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

<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>''
4b9b3361

Ответ 1

Второй параметр 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.

Какой лучший способ заменить ссылки на js-функции?

Ответ 3

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

Ответ 4

попробуйте, это сработало для меня в ie 7 и ie 8

 $(this).click(function (j) {
            var href = ($(this).attr('href'));
            window.location = href;
            return true;

Ответ 5

Вот что сработало для меня:

<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>

Ответ 6

Я бы взял это несколько иначе, если бы был вами. Измените текстовую ссылку при загрузке страницы, а не на клик. Я приведу пример в jQuery, но его можно легко сделать в javascript (хотя 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 уже установлен), и он удаляет javascript из вашего HTML.

Все это говорит о том, что вы используете PHP... почему бы не добавить его на стороне сервера?

Ответ 7

Итак, добавив URL-адрес в конец href, каждая ссылка откроется в том же окне? Возможно, вы также можете использовать _BLANK в HTML, чтобы сделать то же самое.

Ответ 8

пытаться

<a href="#" 
   onclick="location='http://example.com/submit.php?url='+escape(location)"
   >click here</a>